:root{--primary: #4da7ff;--primary-soft: #b868ff;--bg: #ececec;--text: #20242d;--surface-strong: #ffffff;--border: #dce2ec}body{margin:0;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;background:radial-gradient(circle at 18% 8%,#dbeafe 0,transparent 32%),radial-gradient(circle at 80% 20%,#ede9fe 0,transparent 30%),var(--bg)}.dashboard-shell{min-height:100vh}.no-page-scroll{height:100vh;overflow:hidden}.dashboard-page{width:min(1400px,calc(100% - 2rem));margin:1.25rem auto;display:grid;gap:1rem}.topbar{position:sticky;top:1rem;z-index:20;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:16px;background:#f8f8f9e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 16px 32px #465b7a1f}.brand,.menu,.actions{display:flex;align-items:center;gap:.625rem}.brand,.actions{flex:1 1 0;min-width:0}.menu{flex:0 0 auto;justify-content:center}.actions{justify-content:flex-end}.logo{width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-soft));color:#fff}.brand-name{font-weight:700;color:#111827}.btn,.menu-btn,.icon-btn,.search{border-radius:10px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font:inherit;transition:background-color .2s,border-color .2s,transform .2s}.menu-btn,.btn,.icon-btn{cursor:pointer}.menu-btn{padding:.5rem .75rem;font-size:.92rem;font-weight:500}.menu-btn.active{background:linear-gradient(180deg,#7bc6ff,#3ca8f7);border-color:#53aef5;color:#fff}.menu-btn:disabled{cursor:not-allowed;opacity:.48;color:#64748b;background:#f1f5f9;border-color:#dbe3ee}.search:disabled,.icon-btn:disabled{cursor:not-allowed;opacity:.55;color:#64748b;background:#f1f5f9;border-color:#dbe3ee}.search{padding:.5rem .75rem;min-width:220px;outline:none}.search:focus-visible,.menu-btn:focus-visible,.btn:focus-visible,.icon-btn:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.btn{padding:.5rem .85rem;font-size:.9rem;font-weight:600}.btn.primary{background:linear-gradient(180deg,#7bc6ff,#3ca8f7);border-color:#53aef5;color:#fff;box-shadow:0 8px 20px #4ca4f059}.btn.danger{background:linear-gradient(180deg,#fda4af,#f43f5e);border-color:#fb7185;color:#fff;box-shadow:0 8px 18px #f43f5e47}.icon-btn{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.25rem 0 .5rem}.board-heading{margin-bottom:.25rem}.board-section{display:grid;gap:.5rem}.board-section .board-heading{margin:0}.field{display:grid;gap:.3rem}.field-label{font-size:.8rem;font-weight:600;color:#475569}.field-input{border-radius:10px;border:1px solid var(--border);background:#f8fafc;color:#0f172a;padding:.55rem .65rem;font:inherit;outline:none}.field-input:focus-visible{border-color:#93c5fd;outline:3px solid rgba(37,99,235,.2);outline-offset:1px}.field-error{color:#b91c1c;font-size:.78rem}.title{margin:0;font-size:1.25rem;font-weight:700;color:#111827}.subtitle{margin:.35rem 0 0;color:#4b5563;font-size:.92rem}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem}.board-tile{display:grid;gap:.7rem;text-align:left;padding:.9rem;border-radius:14px;border:1px solid var(--border);background:linear-gradient(135deg,#f7f9fc,#eef3fb);box-shadow:0 10px 24px #5a96e629;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.board-tile:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 14px 26px #6390d03d}.board-tile:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.board-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.board-tile-name{margin:0;font-size:1.02rem;font-weight:700;color:#0f172a}.board-settings-btn{width:1.5rem;height:1.5rem;border:0;background:transparent;color:#ca8a04;display:grid;place-items:center;cursor:pointer;transition:color .2s,opacity .2s}.board-settings-btn:hover{color:#a16207;opacity:.85}.board-settings-btn:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.site-delete-btn{width:1.65rem;height:1.65rem;border:0;background:transparent;color:#dc2626;display:grid;place-items:center;cursor:pointer;border-radius:8px;transition:color .2s,background-color .2s}.site-delete-btn:hover{color:#b91c1c;background:#fee2e2}.site-delete-btn:focus-visible{outline:3px solid rgba(239,68,68,.26);outline-offset:1px}.board-tile-meta{display:flex;gap:.45rem;flex-wrap:wrap}.chip{border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#312e81;padding:.16rem .5rem;font-size:.74rem;font-weight:600}.chip.warning{background:#fef9c3;border-color:#fde047;color:#854d0e}.chip.danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.board-tile-desc{margin:0;font-size:.88rem;line-height:1.35;color:#475569}.board-toolbar{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0 .5rem;gap:.75rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem}.detail-item{border:1px solid var(--border);border-radius:12px;background:#f8f9fb;box-shadow:0 6px 14px #7d9dc729;padding:.85rem}.detail-item.is-editable{cursor:pointer}.detail-item.is-editable:hover{background:#f3f6fd;border-color:#93c5fd}.detail-label{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b}.detail-value{margin:0;color:#0f172a;line-height:1.4}.detail-value.small{font-size:.9rem;color:#334155}.detail-link{color:#2563eb;text-decoration:none;font-weight:600}.detail-link:hover{text-decoration:underline}.detail-strong{font-weight:700;color:#0f172a}.boards-empty{margin:.7rem 0 0;color:#475569;font-size:.92rem}.board{overflow-x:auto;padding-bottom:.5rem}.columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);gap:1rem;align-items:start}.column{background:#f6f7f9eb;border:1px solid var(--border);border-radius:14px;padding:.8rem;box-shadow:0 10px 24px #5a96e624;display:flex;flex-direction:column;max-height:calc(100vh - 13rem)}.column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;font-weight:600;color:#111827}.badge{min-width:1.5rem;height:1.5rem;border-radius:999px;padding:0 .45rem;display:inline-grid;place-items:center;font-size:.75rem;background:#eef2ff;border:1px solid #c7d2fe}.cards{display:grid;gap:.65rem;min-height:5rem;align-content:start;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:#d1d5db #ececec}.cards::-webkit-scrollbar{width:8px}.cards::-webkit-scrollbar-track{background:#ececec;border-radius:999px}.cards::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px;border:1px solid #cbd5e1}.cards::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.card{border:1px solid #dbe9e7;background:#f8f9fb;border-radius:12px;padding:.75rem;cursor:pointer;box-shadow:0 6px 14px #7d9dc729;transition:border-color .2s,box-shadow .2s,background-color .2s;text-align:left}.card.dragging{opacity:.55;cursor:grabbing;box-shadow:0 16px 26px #5676b047}.card:disabled{opacity:.9;cursor:wait}.cards.drop-target{outline:2px dashed #93c5fd;outline-offset:4px;border-radius:12px}.card-title{margin:0;font-size:.92rem;line-height:1.35;color:#0f172a}.card-description{margin:.45rem 0 0;font-size:.83rem;line-height:1.35;color:#475569}.card-meta{margin-top:.6rem;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#475569}.add-card{width:100%;margin-top:.65rem;padding:.55rem .65rem;border-radius:10px;border:1px dashed #bfdbfe;background:#eff6ff;color:#1f4f96;text-align:left;font:inherit;cursor:pointer;transition:background-color .2s,border-color .2s}.card:focus-visible,.add-card:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.modal-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0f172a5c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(830px,92vw);min-height:min(840px,64vh);border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 20px 40px #0f172a38;padding:1rem;overflow:auto}.modal-title{margin:0 0 .85rem;font-size:1.05rem;font-weight:700;color:#0f172a}.modal-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.modal-title-row .modal-title{margin:0}.modal-title-actions{display:flex;align-items:center;gap:.35rem}.modal-edit-btn{width:1.75rem;height:1.75rem;border:0;background:transparent;color:#ca8a04;display:grid;place-items:center;cursor:pointer;transition:color .2s,opacity .2s}.modal-edit-btn:hover{color:#a16207;opacity:.85}.modal-edit-btn:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.modal-grid{display:grid;gap:.75rem}.modal-form-fill{display:flex;flex-direction:column;flex:1}.modal-form-fill .modal-actions{margin-top:auto}.board-modal{display:flex;flex-direction:column}.edit-card-form{display:flex;flex-direction:column;flex:1;min-height:0}.edit-card-form .field-description{display:grid;grid-template-rows:auto 1fr;min-height:0}.edit-card-form .field-description .field-input{min-height:260px;height:100%}.edit-card-form .modal-actions{margin-top:auto}textarea.field-input{min-height:88px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.15rem}.modal-actions.between{justify-content:space-between;align-items:center}.detail-text{margin:0;color:#0f172a;line-height:1.4}.card-details-footer{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.card-details-meta{display:flex;gap:.45rem;flex-wrap:wrap}.card-details-modal{display:flex;flex-direction:column}.card-details-layout{display:flex;flex-direction:column;flex:1}.meta-pill{display:inline-flex;align-items:center;gap:.28rem;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;padding:.22rem .62rem;font-size:.78rem;line-height:1.2;white-space:nowrap}.meta-pill strong{font-size:.72rem;color:#475569;font-weight:700}.menu-btn:hover,.icon-btn:hover,.btn:hover,.search:hover,.card:hover,.add-card:hover{border-color:#93c5fd;background-color:#f3f6fd}.menu-btn:not(:disabled):hover{color:var(--text)}.menu-btn.active:not(:disabled):hover{background:linear-gradient(180deg,#69bcff,#2f9eef);border-color:#3a9fe8;color:#fff}.btn.primary:hover{background:linear-gradient(180deg,#69bcff,#2f9eef);border-color:#3a9fe8}.btn.danger:hover{background:linear-gradient(180deg,#fb7185,#e11d48);border-color:#f43f5e}.card:hover{box-shadow:0 12px 22px #6e95ca3d;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.topbar{flex-wrap:wrap}.menu{order:3;width:100%;overflow-x:auto;padding-bottom:.2rem}}@media(max-width:640px){.dashboard-page{width:calc(100% - 1rem);margin:.75rem auto}.topbar{top:.5rem;padding:.65rem;border-radius:12px}.search{min-width:140px}.boards-grid{grid-template-columns:1fr}.board-toolbar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
