.study-app{color:#173d33;--green:#164b40;--line:#dce5e0;--soft:#edf3ef;--red:#a94539;--amber:#b16b16;background:#f5f7f5;min-height:100vh}.study-app button,.study-app input,.study-app textarea,.study-app select{font:inherit}.study-header{color:#173d33;border-bottom:1px solid var(--line);padding:calc(15px + env(safe-area-inset-top)) 24px 15px;background:#fff;border-radius:0;justify-content:space-between;align-items:center;display:flex;max-width:none!important}.study-header>*{margin:0}.brand{align-items:center;gap:11px;display:flex!important}.brand-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font:21px/1 serif;display:grid}.brand small{color:#71857a;letter-spacing:.08em;font-size:11px}.brand h1{margin:0;font-size:20px}.notice-link{align-items:center;gap:5px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.study-shell{max-width:1080px;margin:auto;padding:24px 22px 70px}.search-row{z-index:2;grid-template-columns:1fr auto;gap:12px;display:grid;position:relative}.search-box{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;height:49px;padding:0 14px;display:flex;box-shadow:0 6px 25px #173d3308}.search-box input{color:#173d33;background:0 0;border:0;outline:0;flex:1;min-width:0}.search-box button,.modal-head>button,.search-result-head>button{color:#6e8177;background:0 0;border:0;place-items:center;padding:5px;display:grid}.primary-add,.wide-primary,.modal-actions .primary{background:var(--green);color:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:0 18px;font-weight:650;display:flex}.global-message{background:#e9f2ec;border:1px solid #d4e4da;border-radius:12px;justify-content:space-between;align-items:center;margin:12px 0;padding:10px 13px;font-size:14px;display:flex}.global-message button{color:#577065;background:0 0;border:0}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;margin:18px 0;padding:18px;display:flex}.login-card p{color:#6c8075;margin:3px 0;font-size:14px}.login-card a{align-items:center;gap:5px;display:flex}.summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.summary-grid button{border:1px solid var(--line);text-align:left;color:#173d33;background:#fff;border-radius:16px;padding:16px}.summary-grid button.urgent{background:#fff9f8;border-color:#e3b4ae}.summary-grid button.today{background:#fffbf2;border-color:#e5c785}.summary-grid span,.summary-grid small{color:#71857b;font-size:12px;display:block}.summary-grid b{margin:4px 0;font-size:31px;font-weight:550;line-height:1.2;display:block}.toolbar{justify-content:space-between;align-items:center;gap:15px;margin:22px 0;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters select{border:1px solid var(--line);color:#32574a;background:#fff;border-radius:9px;padding:8px 28px 8px 10px;font-size:13px}.link-button{color:#5e796b;background:0 0;border:0;font-size:13px}.view-switch{background:#e7eeea;border-radius:10px;padding:3px;display:flex}.view-switch button{color:#5d7468;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;min-height:0;padding:7px 10px;font-size:13px;display:flex}.view-switch button.active{color:#173d33;background:#fff;box-shadow:0 2px 7px #173d3314}.task-group{margin:27px 0}.group-heading,.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:11px;display:flex}.group-heading h2,.section-heading h2{margin:0;font-size:18px}.group-heading span{text-align:center;color:#577166;background:#e7ede9;border-radius:99px;min-width:26px;padding:2px 8px;font-size:12px}.task-group.overdue .group-heading h2{color:var(--red)}.task-group.today .group-heading h2{color:#9b5a10}.task-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.study-task{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.study-task.overdue{border-left:4px solid var(--red)}.study-task.today{border-left:4px solid var(--amber)}.study-task.pending_confirmation{border-left:4px solid #d7a833}.study-task.completed{opacity:.66}.task-main{text-align:left;width:100%;color:inherit;background:0 0;border:0;padding:17px;min-height:0!important;display:block!important}.task-meta{flex-wrap:wrap;gap:6px;display:flex}.task-meta span{color:#4b7060;background:#edf3ef;border-radius:99px;padding:3px 7px;font-size:11px}.task-main h3{margin:10px 0 6px;font-size:16px}.task-main p{color:#5f776b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.task-deadline{color:#5e7468;align-items:center;gap:6px;margin-top:13px;font-size:12px;display:flex}.task-deadline strong{color:#244e40}.study-task.overdue .task-deadline strong{color:var(--red)}.task-deadline time{margin-left:auto;font-size:11px}.task-actions{border-top:1px solid #edf1ee;gap:6px;padding:9px 12px;display:flex}.task-actions button{color:#315c4a;background:#eef3ef;border:0;border-radius:8px;align-items:center;gap:5px;min-height:0;padding:7px 9px;font-size:12px;display:flex}.task-actions .complete{background:#dfece4}.empty-state{text-align:center;color:#70847a;border:1px dashed #cbd9d0;border-radius:16px;padding:35px}.empty-state svg{margin:auto}.empty-state h2{font-size:16px}.empty-state p{font-size:13px}.latest-notices{border-top:1px solid var(--line);margin-top:38px;padding-top:24px}.section-heading small{color:#788b80;letter-spacing:.08em;font-size:11px}.section-heading a{align-items:center;gap:4px;font-size:13px;text-decoration:none;display:flex}.notice-strip{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.notice-strip>a{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;padding:13px;text-decoration:none;display:grid}.notice-strip span,.notice-strip small{color:#71867a;font-size:11px}.notice-strip strong{color:#244a3e;font-size:14px}.study-footer{text-align:left;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:28px;display:flex}.study-footer>a{background:#e6eee9;border-radius:9px;align-items:center;gap:6px;padding:10px 12px;text-decoration:none;display:flex}.study-footer details{max-width:420px;margin:0}.modal-backdrop{z-index:30;background:#102b2480;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.intake-modal,.detail-modal,.source-modal{background:#fff;border-radius:20px;width:min(720px,100%);max-height:92vh;padding:22px;overflow:auto;box-shadow:0 22px 70px #0e2a2266}.modal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-head small{color:#71867b;letter-spacing:.08em;font-size:11px}.modal-head h2{margin:2px 0;font-size:21px}.intake-modal>label,.form-grid label{color:#5f776b;gap:6px;margin:12px 0;font-size:12px;display:grid}.intake-modal input,.intake-modal textarea,.intake-modal select,.detail-modal input,.detail-modal textarea,.detail-modal select{color:#173d33;background:#fbfdfb;border:1px solid #d7e1db;border-radius:9px;outline:0;width:100%;padding:10px}.intake-modal input:focus,.intake-modal textarea:focus,.detail-modal input:focus,.detail-modal textarea:focus{border-color:#79a08c;box-shadow:0 0 0 3px #cfe2d633}.drop-file{text-align:center;border:1px dashed #aabdb2;border-radius:13px;place-items:center;padding:20px;color:#486a5c!important;position:relative!important}.drop-file span{font-size:11px}.drop-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.wide-primary{width:100%;margin-top:12px}.wide-primary:disabled,.primary:disabled{opacity:.5}.review-note,.warning-note{color:#486b5b;background:#edf4ef;border-radius:10px;padding:10px 12px;font-size:13px}.warning-note{color:#825d1d;background:#fff8e8}.draft-list{gap:12px;margin:14px 0;display:grid}.draft-card{border:1px solid var(--line);border-radius:13px;padding:15px}.draft-title{align-items:center;gap:8px;display:flex}.draft-title span{color:#865d12;background:#fff1c9;border-radius:99px;padding:3px 7px;font-size:11px}.draft-title button{background:0 0;border:0;margin-left:auto}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.form-grid .span-2{grid-column:1/-1}.form-grid .check-label{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:flex}.check-label input{width:auto}.modal-actions{justify-content:space-between;gap:10px;margin-top:18px;display:flex}.modal-actions button{border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:0 14px;display:flex}.modal-actions .secondary{color:#315b4b;background:#edf3ef;border:0}.source-file{background:#edf3ef;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.source-file div{min-width:0;display:grid}.source-file small{color:#71867a;font-size:11px}.source-file a{margin-left:auto;font-size:12px}.source-modal h3{margin-top:20px;font-size:14px}.source-modal pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:#f7f9f7;border-radius:12px;max-height:50vh;padding:14px;font:13px/1.7 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;overflow:auto}.search-results{z-index:20;border:1px solid var(--line);background:#fff;border-radius:16px;width:min(780px,100% - 28px);max-height:72vh;padding:17px;position:fixed;top:82px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 20px 60px #102f2533}.search-result-head{justify-content:space-between;align-items:center;display:flex}.search-result-head small{color:#71857a;font-size:11px}.search-result-head h2{margin:2px 0;font-size:19px}.search-results>p{color:#71857a;font-size:12px}.result-item{text-align:left;background:#fff;border:0;border-top:1px solid #edf1ee;gap:4px;width:100%;min-height:0;padding:12px 5px;text-decoration:none;display:grid}.result-item span,.result-item small{color:#71857a;font-size:11px}.result-item strong{color:#244d40;font-size:14px}.calendar-panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head h2{font-size:17px}.calendar-head button{color:#315a4a;background:#edf3ef;border:0;border-radius:8px;padding:7px 10px}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-week span{text-align:center;color:#778a7f;padding:8px;font-size:11px}.calendar-grid>div{border-top:1px solid #edf1ee;border-right:1px solid #edf1ee;min-height:105px;padding:7px;overflow:hidden}.calendar-grid>div:nth-child(7n){border-right:0}.calendar-grid b{font-size:12px}.calendar-grid button{color:#315c4b;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#e9f1ec;border:0;border-radius:5px;width:100%;min-height:0;margin-top:4px;padding:4px;font-size:10px;display:block;overflow:hidden}.calendar-grid small{color:#788b80;font-size:9px}.muted-day{opacity:.4}@media (max-width:700px){.study-header{padding-left:16px;padding-right:16px}.study-shell{padding:16px 13px 70px}.search-row{grid-template-columns:1fr}.primary-add{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:18;border-radius:99px;position:fixed;box-shadow:0 10px 28px #0f392c55}.summary-grid{gap:7px}.summary-grid button{padding:12px 10px}.summary-grid b{font-size:25px}.toolbar{display:block}.filters{flex-wrap:nowrap;padding-bottom:8px;overflow:auto}.filters svg,.link-button{flex:none}.view-switch{width:max-content;margin-left:auto}.task-cards,.notice-strip{grid-template-columns:1fr}.task-deadline{flex-wrap:wrap}.task-deadline time{width:100%;margin-left:21px}.intake-modal,.detail-modal,.source-modal{border-radius:16px;padding:18px}.modal-backdrop{align-items:end;padding:9px}.intake-modal,.detail-modal,.source-modal{max-height:94vh}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.calendar-panel{padding:8px;overflow:auto}.calendar-week,.calendar-grid{min-width:650px}.study-footer{display:block}.study-footer details{margin-top:12px}.search-results{top:72px}.source-file{align-items:flex-start}.source-file a{white-space:nowrap}.brand h1{font-size:18px}}.reminder-options{border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:10px 12px}.reminder-options legend{color:#5f776b;padding:0 5px;font-size:12px}.reminder-options label{grid-template-columns:none;align-items:center;gap:6px;margin:5px 18px 5px 0;display:inline-flex}.reminder-options input{width:auto}.reminder-options label:has(input:checked){color:var(--green);font-weight:650}.login-card form{gap:8px;display:flex}.login-card input{border:1px solid var(--line);text-align:center;letter-spacing:.16em;border-radius:10px;width:120px;padding:10px}.login-card button{background:var(--green);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:650}.login-card button:disabled{opacity:.5}@media (max-width:700px){.login-card{gap:12px;display:grid}.login-card form{width:100%}.login-card input{flex:1;width:auto}}
