:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#1c1c1c;background:linear-gradient(145deg,#f6f8fb,#eef2f9)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0}:root[data-theme=dark] body{color:#e3e9f5;background:linear-gradient(145deg,#0f1422,#121a2d)}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #d7dfef;border-radius:16px;padding:20px}.auth-card h2{margin:0 0 8px}.auth-card h1{margin:0 0 6px;text-align:center}.auth-theme-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px;color:#5b6477;font-size:13px}.auth-theme-row select{border:1px solid #cad2e2;border-radius:8px;background:#fff;color:inherit;padding:6px 8px}.auth-card p{margin:0 0 14px;color:#5b6477}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-mode-toggle{display:flex;gap:8px;margin-bottom:10px}.auth-form label{display:flex;flex-direction:column;gap:6px}.auth-form input{padding:10px 12px;border:1px solid #cad2e2;border-radius:10px;background:#fff}.app-shell{min-height:100vh;padding:24px}.app-header{display:flex;align-items:stretch;justify-content:space-between;margin-bottom:24px;gap:16px}.brand-and-nav{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;flex:1}.brand h1{margin:0;font-size:32px}.brand p{margin:4px 0 0;color:#5b6477}.brand{display:flex;flex-direction:column;min-height:98px}.daily-phrase-label{margin:0 0 2px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#6a7489}.daily-phrase-text{font-family:Cormorant Garamond,Times New Roman,serif;font-size:clamp(24px,3vw,34px);font-style:italic;letter-spacing:.02em;font-weight:600;color:#1d2230;text-shadow:0 1px 0 #ffffff,0 5px 18px rgba(20,28,50,.14)}.profile-selector{display:flex;flex-direction:column;gap:8px;min-width:280px;border:1px solid #d7dfef;border-radius:12px;background:#f8fbff;padding:10px;min-height:0}.header-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;width:min(100%,720px);margin-left:auto}.header-right-column{display:flex;flex-direction:column;gap:12px;min-width:0}.header-side-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.header-side-stack .session-box,.header-right-column .profile-selector{min-width:0}.header-controls .activity-panel{min-width:0;max-width:none;align-self:stretch;height:100%}.session-box{min-width:220px;border:1px solid #d7dfef;border-radius:12px;background:#f8fbff;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}.session-box-inline{flex-direction:row;align-items:center;justify-content:space-between}.session-box-inline .ghost-button,.session-box-inline select{width:auto;min-width:140px}.session-box-inline-theme{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}.session-box-inline-theme select{width:auto;min-width:120px}.profile-selector-inline{min-width:0}.profile-selector-inline-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-selector-inline-row select{min-width:200px}.session-box select{padding:8px 10px;border:1px solid #cad2e2;border-radius:8px;background:#fff;color:inherit}.profile-selector label{font-size:13px;color:#4b5567}.profile-selector input,.profile-selector select{padding:10px 12px;border:1px solid #cad2e2;border-radius:10px;background:#fff}.inline-controls{display:flex;gap:8px}.inline-controls input{flex:1;min-width:0}.top-nav{display:flex;gap:10px}.top-nav a{text-decoration:none;color:#4b5567;border:1px solid #d7dfef;border-radius:999px;padding:5px 10px;background:#fff}.top-nav a.active{border-color:#4f78d8;color:#1e3f8f;background:#edf3ff}.app-main{background:#fff;border-radius:16px;border:1px solid #d7dfef;padding:20px}.app-footnote{margin-top:10px;text-align:center;font-size:12px;color:#6a7489}.app-footnote a{color:inherit}.board-layout{display:flex;flex-direction:column;gap:14px}.board-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.board-toolbar-left{display:flex;flex-direction:column;gap:8px;flex:1}.activity-panel{min-width:360px;max-width:360px;border:1px solid #d7dfef;border-radius:12px;background:#f8fbff;padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:0;height:100%}.activity-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.activity-time{font-family:IBM Plex Mono,Consolas,monospace;font-size:18px;color:#173a87}.activity-title-input{border:1px solid #cad2e2;border-radius:8px;padding:10px 12px;font-size:18px;line-height:1.2;font-family:inherit}.activity-title-input:focus-visible{outline:none;border-color:#4f78d8;box-shadow:0 0 0 3px #4f78d82e}.activity-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.activity-actions button{min-height:38px;padding:8px;font-size:16px}.tag-filter-row{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{border:1px solid #d7dfef;border-radius:999px;background:#fff;color:#4b5567;padding:4px 10px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.tag-chip:hover{border-color:#9ab0de;background:#f5f8ff}.tag-chip.active{border-color:#4f78d8;color:#1e3f8f;background:#edf3ff}.search-input{width:320px;max-width:100%;border:1px solid #cad2e2;border-radius:10px;padding:10px 12px}.status{padding:12px;border-radius:10px;margin-bottom:16px}.status.info{background:#eef3ff;border:1px solid #cfddff}.status.error{background:#fff0f0;border:1px solid #ffc5c5}.mini-popup{position:fixed;top:18px;right:18px;z-index:80;padding:10px 14px;border-radius:10px;border:1px solid #e5a0a0;background:#ffe9e9;color:#8f1e1e;box-shadow:0 8px 24px #1e2a421f}.mini-popup.success{border-color:#9cc9a3;background:#eaf9ed;color:#1f6b32}.task-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.task-column{border:1px solid #d7dfef;border-radius:12px;padding:12px;min-height:280px}.task-column h3{margin:0}.column-header{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.column-header-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.column-header select{width:180px;border:1px solid #cad2e2;border-radius:8px;padding:6px 8px;background:#fff;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.column-header select:hover{border-color:#9ab0de}.column-header select:focus-visible{outline:none;border-color:#4f78d8;box-shadow:0 0 0 3px #4f78d82e}.filter-tabs{display:flex;flex-wrap:wrap;gap:6px}.tab{border:1px solid #d7dfef;border-radius:999px;padding:3px 8px;background:#fff;cursor:pointer;color:#4b5567;transition:border-color .12s ease,background-color .12s ease,color .12s ease,transform .06s ease}.tab:hover{border-color:#9ab0de;background:#f5f8ff}.tab:active{transform:translateY(1px)}.tab:focus-visible{outline:none;border-color:#4f78d8;box-shadow:0 0 0 3px #4f78d82e}.tab.active{border-color:#4f78d8;color:#1e3f8f;background:#edf3ff}.quick-add{display:flex;gap:8px;margin-bottom:10px}.quick-add input{flex:1;min-width:0;border:1px solid #cad2e2;border-radius:8px;padding:8px 10px;transition:border-color .12s ease,box-shadow .12s ease}.quick-add input:hover,.search-input:hover,.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:#9ab0de}.quick-add input:focus-visible,.search-input:focus-visible,.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible{outline:none;border-color:#4f78d8;box-shadow:0 0 0 3px #4f78d82e}.quick-add button,.action-button{border:1px solid #88a4e8;background:#edf3ff;color:#183e98;border-radius:8px;padding:7px 10px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .06s ease,box-shadow .12s ease}.quick-add button:hover,.action-button:hover{background:#e2ebff;border-color:#6f8ddd}.quick-add button:active,.action-button:active,.ghost-button:active,.danger-button:active{transform:translateY(1px)}.quick-add button:focus-visible,.action-button:focus-visible,.ghost-button:focus-visible,.danger-button:focus-visible{outline:none;box-shadow:0 0 0 3px #4f78d82e}.quick-add button:disabled,.action-button:disabled{opacity:.6;cursor:not-allowed}.ghost-button{border:1px solid #d3dced;background:#fff;color:#40506e;border-radius:8px;padding:7px 10px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .06s ease,box-shadow .12s ease}.ghost-button:hover{background:#f7f9fd;border-color:#bccae4}.danger-button{border:1px solid #e5a0a0;background:#ffe9e9;color:#8f1e1e;border-radius:8px;padding:7px 10px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .06s ease,box-shadow .12s ease}.danger-button:hover{background:#ffdede;border-color:#db8888}.task-list{margin:0;padding:0;list-style:none}.task-list li{padding:8px 10px;border-radius:8px;background:#f4f7fd;margin-bottom:8px;display:flex;flex-direction:column;gap:8px;position:relative}.clickable-card{cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.clickable-card:hover{background:#eaf1ff}.clickable-card:focus-within{box-shadow:inset 0 0 0 2px #4f78d82e}.task-card-completed{background:#edf1f7!important;border:1px solid #d0d8e6}.task-title-completed{color:#59657c;text-decoration:line-through;text-decoration-thickness:1.5px}.task-title-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;padding-right:42px}.task-list li>strong{display:block;padding-right:42px}.completion-badge{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2f5f3a;background:#e9f6ec;border:1px solid #b9dbbf;border-radius:999px;padding:2px 8px}.card-menu{position:absolute;top:6px;right:6px;z-index:20}.card-menu-trigger{list-style:none;border:1px solid #d7dfef;background:#fff;border-radius:6px;padding:1px 7px;cursor:pointer;color:#526281;font-weight:700}.card-menu>summary::-webkit-details-marker{display:none}.card-menu-popover{position:absolute;top:0;right:0;width:180px;border:1px solid #d7dfef;background:#fff;border-radius:8px;box-shadow:0 8px 20px #1421391f;overflow:hidden;display:flex;flex-direction:column;z-index:25}.card-menu-item{text-align:left;border:0;background:#fff;padding:8px 10px;cursor:pointer;color:#33415e}.card-menu-item:hover{background:#eef4ff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#131c2d6b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid #d5dff0;border-radius:14px;padding:16px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#33415e}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #cad2e2;border-radius:8px;padding:8px 9px;font:inherit}.form-grid .full-width{grid-column:1 / -1}.checkbox-row{display:flex!important;align-items:center;flex-direction:row!important;gap:8px!important}.readonly-row{color:#586583;font-size:13px}.modal-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.nested-box{border:1px solid #d7dfef;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.nested-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.nested-list li{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f4f7fd;border-radius:8px;padding:7px 9px}.task-meta{display:block;margin-top:4px;color:#5b6477;font-size:12px}.tag-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.tag-row input{flex:1;min-width:0;border:1px solid #cad2e2;border-radius:8px;padding:8px 10px}.tag-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.tag-picker{display:flex;flex-wrap:wrap;gap:8px 12px}.profile-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:12px}.graph-res-tabs,.graph-controls{display:flex;gap:8px;flex-wrap:wrap}.logs-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.logs-filter-item{display:inline-flex;align-items:center;gap:6px;color:#33415e}.graph-controls select,.logs-filters select,.logs-filters input,.graph-search input{border:1px solid #cad2e2;border-radius:8px;padding:8px 10px;background:#fff}.graph-search{max-width:420px}.graph-search-results{list-style:none;margin:6px 0 0;padding:0;border:1px solid #d7dfef;border-radius:8px;overflow:hidden}.graph-search-results li{padding:8px 10px;background:#fff;cursor:pointer;border-bottom:1px solid #eef2fb}.graph-search-results li:last-child{border-bottom:0}.graph-search-results li:hover{background:#eef4ff}.graph-card{border:1px solid #d7dfef;border-radius:12px;background:#fff;padding:10px}.graph-svg{width:100%;height:auto;min-height:260px}@media (max-width: 1000px){.task-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app-shell{padding:12px}.app-header{flex-direction:column;align-items:stretch;gap:12px}.brand{min-height:0}.brand .daily-phrase-text{font-size:clamp(16px,3.8vw,22px);line-height:1.22;margin:0}.header-controls{display:flex;flex-direction:column;align-items:stretch;width:100%;margin-left:0}.header-right-column{gap:8px}.header-side-stack{gap:8px;grid-template-columns:1fr}.task-columns{grid-template-columns:1fr}.task-column{min-width:0}.activity-panel{min-width:0;max-width:unset}}@media (max-width: 640px){.brand .daily-phrase-text{font-size:16px;line-height:1.2}.session-box-inline{flex-direction:column;align-items:stretch}.session-box-inline-theme{flex-direction:column;align-items:stretch;gap:6px}.profile-selector-inline-row{flex-direction:column;align-items:stretch}.profile-selector-inline-row select{min-width:0}.profile-selector{min-width:unset}.board-toolbar{flex-direction:column;align-items:stretch}}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .app-main,:root[data-theme=dark] .task-column,:root[data-theme=dark] .modal-card,:root[data-theme=dark] .graph-card,:root[data-theme=dark] .profile-selector,:root[data-theme=dark] .session-box,:root[data-theme=dark] .activity-panel{background:#1a2438;border-color:#2b3a56;color:#e3e9f5}:root[data-theme=dark] .task-list li,:root[data-theme=dark] .nested-list li{background:#182236}:root[data-theme=dark] .clickable-card:hover{background:#22304a}:root[data-theme=dark] .task-card-completed{background:#2a3240!important;border-color:#3a4558}:root[data-theme=dark] .daily-phrase-label,:root[data-theme=dark] .task-meta,:root[data-theme=dark] .auth-card p,:root[data-theme=dark] .auth-theme-row,:root[data-theme=dark] .profile-selector label{color:#aeb9cf}:root[data-theme=dark] .daily-phrase-text{color:#e9eef9;text-shadow:0 1px 0 rgba(0,0,0,.35),0 6px 20px rgba(0,0,0,.35)}:root[data-theme=dark] .top-nav a,:root[data-theme=dark] .tab,:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .card-menu-trigger,:root[data-theme=dark] .card-menu-item,:root[data-theme=dark] .column-header select,:root[data-theme=dark] .graph-controls select,:root[data-theme=dark] .logs-filters select,:root[data-theme=dark] .logs-filters input,:root[data-theme=dark] .graph-search input,:root[data-theme=dark] .auth-theme-row select,:root[data-theme=dark] .session-box select{background:#101827;border-color:#344766;color:#dbe5f8}:root[data-theme=dark] .column-header select option{background:#101827;color:#dbe5f8}:root[data-theme=dark] .top-nav a.active,:root[data-theme=dark] .tab.active{background:#1e3b78;border-color:#355ea8;color:#dfe9ff}:root[data-theme=dark] .search-input,:root[data-theme=dark] .quick-add input,:root[data-theme=dark] .activity-title-input,:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .form-grid textarea,:root[data-theme=dark] .auth-form input,:root[data-theme=dark] .profile-selector input,:root[data-theme=dark] .profile-selector select{background:#111a2a;border-color:#344766;color:#e3e9f5}:root[data-theme=dark] .action-button{background:#274886;border-color:#3c63ab;color:#eaf2ff}:root[data-theme=dark] .action-button:hover{background:#32569a}:root[data-theme=dark] .ghost-button:hover,:root[data-theme=dark] .tag-chip:hover,:root[data-theme=dark] .tab:hover,:root[data-theme=dark] .card-menu-item:hover,:root[data-theme=dark] .graph-search-results li:hover{background:#1c2a44}:root[data-theme=dark] .status.info{background:#1c2b49;border-color:#365182}:root[data-theme=dark] .status.error{background:#3a1f28;border-color:#7a3a4d}:root[data-theme=dark] .app-footnote a{color:#b9c7e3}
