@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--ink:#172623;--muted:#74817d;--line:#e7ece9;--green:#183d35;--mint:#dff0e8;--paper:#f7f8f5;--white:#fff;--gold:#d6a957;--progress:0deg;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{height:76px;background:var(--white);border-bottom:1px solid var(--line);padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;letter-spacing:.06em}.brand b,.brand small{display:block}.brand b{letter-spacing:.12em;font-size:11px}.brand small{font-size:12px;color:var(--muted);margin-top:4px}.connection{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.connection i{width:8px;height:8px;border-radius:50%;background:#c99a55}.connection i.on{background:#38a278;box-shadow:0 0 0 4px #e5f5ee}main{max-width:1200px;margin:auto;padding:48px 28px 24px}.hero{display:flex;align-items:flex-end;justify-content:space-between;padding:9px 0 42px;border-bottom:1px solid var(--line)}.eyebrow{font-weight:700;font-size:10px;letter-spacing:.16em;color:#8b7860;margin:0 0 14px}.hero h1{font-size:clamp(42px,6vw,68px);line-height:1.04;letter-spacing:-.055em;margin:0;color:#142a25}.hero h1 em{font-family:'Playfair Display',serif;color:#52796a;font-weight:600}.intro{font-size:14px;color:var(--muted);margin:17px 0 0}.hero-card{display:flex;align-items:center;gap:13px;padding:12px 17px;background:white;border:1px solid var(--line);border-radius:14px;min-width:190px}.hero-card b,.hero-card small{display:block}.hero-card b{font-size:13px}.hero-card small{font-size:11px;color:var(--muted);margin-top:4px}.ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#36856b var(--progress),#e8efeb 0);position:relative}.ring:before{content:'';position:absolute;inset:4px;background:#fff;border-radius:50%}.ring span{position:relative;font-size:11px;font-weight:700}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0 15px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{border:0;background:transparent;padding:10px 13px;color:#7c8984;font:600 12px 'DM Sans';border-radius:7px;cursor:pointer}.tab:hover{background:#eef2ef}.tab.active{background:#e4eee9;color:#214e40}.toolbar-actions{display:flex;gap:10px;align-items:center}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;height:38px;padding:0 10px;border-radius:7px;color:#8c9994}.search span{font-size:22px;line-height:1}.search input{border:0;outline:0;width:125px;font:12px 'DM Sans';color:var(--ink)}button{font-family:inherit}.primary,.secondary{border:0;border-radius:7px;padding:11px 15px;font-size:12px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:white}.primary:hover{background:#24594b}.secondary{background:#eef2ef;color:var(--green)}.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;padding:7px 0 38px}.dept-card{border:1px solid var(--line);background:#fff;text-align:left;border-radius:10px;padding:13px 14px;cursor:pointer;position:relative;overflow:hidden;color:var(--ink)}.dept-card.selected{border-color:#86aa9b;box-shadow:0 0 0 1px #86aa9b}.dept-card span{display:block;font-size:11px;font-weight:600;color:#67746f}.dept-card b{display:block;font-size:21px;margin:9px 0 2px;color:#244b3f}.dept-card small{font-size:10px;color:#929d98}.dept-card i{display:block;position:absolute;bottom:0;left:0;right:0;height:3px;background:#edf1ee}.dept-card u{display:block;height:100%;background:#65a286;text-decoration:none}.task-section{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:end;padding:23px 23px 17px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{font-size:19px;margin:0;letter-spacing:-.025em}.task-total{font-size:11px;color:var(--muted)}.task-row{display:grid;grid-template-columns:26px minmax(200px,1fr) 135px 132px 24px;gap:14px;align-items:center;padding:14px 23px;border-top:1px solid #eef1ef;min-height:70px}.check{height:19px;width:19px;border:1px solid #c8d2cd;border-radius:6px;background:#fff;color:white;cursor:pointer;font-size:12px;font-weight:bold;padding:0}.check.checked{background:#3b856a;border-color:#3b856a}.task-main>b{font-size:12px;font-weight:600;line-height:1.45}.task-row.done .task-main>b{color:#87928d;text-decoration:line-through}.task-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:10px;color:#8a9691;flex-wrap:wrap}.dept-label{color:#4f7767}.complete-date{color:#39785e}.task-owner small,.task-owner span{display:block}.task-owner small{font-size:8px;letter-spacing:.1em;color:#9aa49f;margin-bottom:4px}.task-owner span{font-size:11px;color:#5b6963}.status-select{border:0;border-radius:20px;padding:7px 9px;font:600 10px 'DM Sans';cursor:pointer;outline:0}.status-select.not_started{background:#f1f2ef;color:#68736e}.status-select.in_progress{background:#fff2d9;color:#96702b}.status-select.completed{background:#e3f2e9;color:#347355}.icon-button{border:0;background:transparent;color:#8a9691;font-size:18px;cursor:pointer;border-radius:5px}.icon-button:hover{background:#edf2ef}.empty{text-align:center;padding:52px 20px 56px;color:var(--muted)}.empty>span{display:block;font-size:28px;color:#88a493;margin-bottom:8px}.empty b{font-size:14px;color:var(--ink)}.empty p{font-size:12px;margin:6px 0 17px}footer{display:flex;justify-content:space-between;padding:19px 3px;font-size:10px;color:#89958f}dialog{border:0;border-radius:14px;padding:0;width:min(490px,calc(100vw - 32px));box-shadow:0 25px 90px #0b211e44}dialog::backdrop{background:#10221f77;backdrop-filter:blur(2px)}#taskForm{padding:25px;display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:3px}.dialog-head .eyebrow{margin:0 0 5px}.dialog-head h2{font-size:21px;margin:0}.dialog-head .icon-button{font-size:24px}.dialog-head .icon-button{margin-top:-6px}#taskForm label{display:grid;gap:6px;font-size:11px;font-weight:600;color:#596761}#taskForm input,#taskForm select{width:100%;height:39px;border:1px solid #dfe6e2;border-radius:6px;padding:0 10px;background:#fff;font:12px 'DM Sans';color:var(--ink);outline-color:#76a48f}#taskForm .optional{display:inline;font-weight:400;color:#9aa49f}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#173b32;color:white;padding:11px 16px;border-radius:8px;font-size:12px;transition:.2s;box-shadow:0 6px 25px #14382e33}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){main{padding:30px 18px 18px}.hero{align-items:start;gap:20px}.hero-card{min-width:auto}.toolbar{align-items:start;flex-direction:column}.toolbar-actions{width:100%;justify-content:space-between}.summary{grid-template-columns:repeat(2,1fr)}.dept-card:last-child{grid-column:span 2}.task-row{grid-template-columns:24px minmax(150px,1fr) 115px 24px;gap:10px;padding:13px 14px}.task-owner{display:none}.status-select{grid-column:3;grid-row:1}.edit{grid-column:4;grid-row:1}}
@media(max-width:520px){.topbar{height:65px;padding:0 17px}.connection{font-size:10px}.brand-mark{width:38px;height:38px}main{padding:27px 14px}.hero{display:block;padding-bottom:28px}.hero-card{margin-top:22px;width:max-content}.hero h1{font-size:47px}.tabs{gap:2px}.tab{padding:8px 9px;font-size:10px}.summary{gap:7px;padding-bottom:25px}.dept-card{padding:11px}.dept-card span{font-size:10px}.task-row{grid-template-columns:22px 1fr 22px;min-height:76px}.status-select{grid-row:2;grid-column:2;width:max-content;margin-top:-5px}.edit{grid-column:3;grid-row:1}.task-main{grid-column:2;grid-row:1}.check{grid-column:1;grid-row:1}.task-meta{gap:7px}.section-heading{padding:19px 15px 14px}footer{gap:12px;line-height:1.5}}
.header-right{display:flex;align-items:center;gap:15px}.sign-out{border:0;background:transparent;color:#587166;font:600 11px 'DM Sans';cursor:pointer}.auth-gate{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:30px 16px;background:radial-gradient(circle at 50% 30%,#eef4ef,#f7f8f5 55%)}.auth-gate[hidden]{display:none}.auth-card{width:min(410px,100%);padding:34px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px #182f2710}.auth-card>.brand-mark{margin-bottom:24px}.auth-card .eyebrow{margin-bottom:9px}.auth-card h1{font:600 36px 'Playfair Display',serif;letter-spacing:-.03em;margin:0;color:#173b32}.auth-copy{font-size:13px;line-height:1.55;color:var(--muted);margin:9px 0 23px}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px;font-size:11px;font-weight:600;color:#596761}.auth-card input{height:42px;border:1px solid #dfe6e2;border-radius:7px;padding:0 11px;font:13px 'DM Sans';outline-color:#76a48f}.auth-card .primary{margin-top:4px;height:42px}.auth-mode{border:0;background:transparent;color:#456d5d;font:600 12px 'DM Sans';cursor:pointer;padding:10px 0 0}.auth-message{font-size:12px;line-height:1.5;color:#926d2f;min-height:10px;margin:8px 0 0}.auth-message.error{color:#a7463c}
.google-button{height:42px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #dfe6e2;border-radius:7px;color:#27332f;font:600 12px 'DM Sans';cursor:pointer}.google-button:hover{background:#f9fbf9}.google-button:disabled{opacity:.65;cursor:wait}.google-g{font:bold 16px Arial,sans-serif;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);background-clip:text;-webkit-text-fill-color:transparent}.auth-divider{display:flex;align-items:center;gap:12px;color:#95a09b;font-size:10px;margin:13px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#e8ece9;flex:1}
