.auth-page{place-items:center;min-height:100dvh;padding:40px 20px;display:grid}.auth-frame{background:#fff;border:1px solid #e1e8e7;border-radius:20px;width:min(100%,500px);padding:38px}.auth-frame .brand{margin-bottom:36px}.auth-frame h1{font-size:30px;line-height:1.2}.auth-form{gap:16px;display:grid}.auth-form label,.access-form label{gap:6px;font-weight:550;display:grid}.auth-form input,.access-form input:not([type=checkbox]),.access-form select{color:#213536;background:#fff;border:1px solid #c8d5d2;border-radius:8px;width:100%;min-height:44px;padding:10px 12px}.auth-foot{color:#647778;margin:30px 0 0;font-size:12px;line-height:1.6}.auth-section{margin-top:32px}.auth-links{justify-content:space-between;align-items:center;gap:12px;margin-top:30px;display:flex}.mfa-qr{max-width:100%;margin:20px auto;display:block}.access-list{gap:18px;display:grid}.access-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;display:grid}.access-form .notice{grid-column:1/-1}.access-form label.access-active{flex-direction:row;align-items:center;min-height:44px;display:flex}@media (max-width:600px){.auth-frame{padding:26px 22px}.auth-frame h1{font-size:27px}.access-form{grid-template-columns:1fr}}:root{--ink:#213536;--muted:#647778;--line:#e1e8e7;--paper:#fff;--bg:#f7f9f8;--teal:#0b615c;--teal-dark:#074e49;--tint:#e8f3ef;--amber:#8b5919;--amber-bg:#fff3df;--red:#a23b3b;--red-bg:#fbebeb;--sidebar:224px;--radius:16px;--shadow:0 4px 18px #153c3010}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #30a595}svg{vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.3px;margin-bottom:12px;font-size:36px;font-weight:650;line-height:1.15}h2{letter-spacing:-.35px;margin-bottom:16px;font-size:19px;font-weight:650}h3{margin-bottom:7px;font-size:15px;font-weight:620}p{margin-bottom:14px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);margin-bottom:13px;font-size:11px;font-weight:700}.skip-link{z-index:100;background:var(--paper);padding:12px;position:fixed;top:-70px;left:20px}.skip-link:focus{top:10px}.loading{text-align:center;padding:80px}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:20;background:#f0f4f2;flex-direction:column;padding:34px 17px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 13px 33px;display:flex}.brand-mark{background:var(--teal);color:#fff;border-radius:13px;place-items:center;width:38px;height:42px;display:grid;position:relative}.brand-mark:after{content:"";border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute}.brand-mark:before{content:"";background:#fff;width:2px;height:27px;position:absolute;transform:rotate(35deg)}.brand-text strong{letter-spacing:-.8px;font-size:20px;font-weight:650;display:block}.brand-text span{letter-spacing:2px;color:var(--muted);margin-top:1px;font-size:9px;display:block}.nav-caption{color:#82918d;letter-spacing:1.4px;text-transform:uppercase;margin:15px 14px 8px;font-size:10px;font-weight:700}.nav-link{color:#536b68;border-radius:9px;align-items:center;gap:12px;margin-bottom:4px;padding:11px 14px;font-size:13px;font-weight:520;transition:background .15s;display:flex}.nav-link:hover{background:#e5ece8}.nav-link.active{color:var(--teal);background:#dcece5;font-weight:650}.nav-link.active:after{content:"";background:var(--teal);border-radius:50%;width:5px;height:5px;margin-left:auto}.nav-link svg{width:18px;height:18px}.sidebar-bottom{border-top:1px solid #dce5e0;margin-top:auto;padding:19px 11px 0}.institution{font-size:12px;font-weight:600}.institution-sub{color:var(--muted);margin-top:5px;font-size:11px}.sidebar-foot{color:var(--muted);align-items:center;gap:7px;margin-top:18px;font-size:10px;display:flex}.dot{background:#6da992;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.main-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;justify-content:space-between;align-items:center;gap:20px;height:80px;padding:0 38px;display:flex;position:sticky;top:0}.top-title{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.top-title strong{color:var(--ink);font-weight:500}.top-actions{align-items:center;gap:13px;display:flex}.search-trigger{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:9px;align-items:center;gap:8px;min-width:212px;padding:8px 12px;font-size:12px;display:flex}.search-trigger svg{width:16px;height:16px}.search-trigger kbd{border:1px solid var(--line);background:#fff;border-radius:4px;margin-left:auto;padding:0 4px;font-size:10px}.prototype-label{letter-spacing:.3px;color:#6e7e78;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:inline-flex}.user-dot{color:#70624b;background:#ede8dc;border:2px solid #fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid;box-shadow:0 0 0 1px #e6e8e1}.mobile-brand{display:none}.main{max-width:1370px;min-height:calc(100vh - 80px);margin:0 auto;padding:40px 38px 55px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.page-head p{margin-bottom:0}.head-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.btn{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:10px 14px;font-size:12px;font-weight:550;transition:background .15s,transform .15s;display:inline-flex}.btn:hover{background:#f0f5f2}.btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.primary:hover{background:var(--teal-dark)}.btn.soft{background:var(--tint);color:var(--teal);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn svg{width:16px;height:16px}.icon-btn{border:1px solid var(--line);background:0 0;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;padding:5px;display:inline-grid}.icon-btn:hover{background:var(--tint)}.text-link{color:var(--teal);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:650;display:inline-flex}.text-link svg{width:15px;height:15px}.hero{grid-template-columns:1.45fr 1fr;align-items:center;gap:44px;margin-bottom:32px;display:grid}.hero h1{letter-spacing:-1.7px;margin-bottom:16px;font-size:46px;line-height:1.13}.hero .intro{max-width:440px;color:var(--muted);line-height:1.8}.welcome{background:var(--teal);color:#fff;border-radius:var(--radius);flex-direction:column;justify-content:center;min-height:211px;padding:25px 27px;display:flex;position:relative;overflow:hidden}.welcome:after{content:"";pointer-events:none;border:1px solid #ffffff1c;border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-95px;box-shadow:0 0 0 36px #ffffff06,0 0 0 72px #ffffff04}.welcome .eyebrow{color:#b1d3cb;margin-bottom:14px;font-size:10px}.welcome h2{letter-spacing:-.7px;max-width:270px;margin-bottom:9px;font-size:24px;line-height:1.25}.welcome p{color:#cae0db;max-width:260px;margin-bottom:20px;font-size:12px}.welcome .text-link{color:#fff}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.section-heading h2,.section-heading .eyebrow{margin:0}.plan-cards{grid-template-columns:1fr 1fr;gap:17px;margin-bottom:29px;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:17px;padding:22px;transition:border .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 2px 5px #173f2e03}.plan-card:hover{box-shadow:var(--shadow);border-color:#98b9ac}.square-icon{width:48px;height:48px;color:var(--teal);background:#eef5f1;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.square-icon.blue{color:#62789b;background:#eef1f8}.plan-card .eyebrow{letter-spacing:1px;margin-bottom:3px;font-size:9px}.plan-card h3{letter-spacing:-.3px;margin:0 0 3px;font-size:17px}.plan-card p{color:var(--muted);margin:0;font-size:11px}.plan-card .chevron{color:#8ba49b;width:17px;margin-left:auto}.content-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:22px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:23px}.card.no-pad{padding:0;overflow:hidden}.card-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.card-title h2{margin:0;font-size:17px}.badge{color:#5b7066;white-space:nowrap;background:#f0f4f2;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.badge.teal{color:#267556;background:#e3f1ea}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{color:#5b7195;background:#edf1f8}.badge.outline{border:1px solid var(--line);color:var(--muted);background:0 0}.day-item{border-bottom:1px solid #edf0ee;align-items:flex-start;gap:15px;padding:15px 0;display:flex}.day-item:last-child{border:0;padding-bottom:0}.day-icon{color:#78968a;background:#f3f6f3;border-radius:9px;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.day-icon svg{width:17px;height:17px}.day-item .label{color:var(--muted);margin-bottom:4px;font-size:10px}.day-item .value{font-size:13px;font-weight:550}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.team-chip{color:#42665b;white-space:nowrap;background:#f0f4f1;border:1px solid #e7eee9;border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.team-chip:before{content:"";background:#87a895;border-radius:50%;width:4px;height:4px}.team-chip[data-team=tumor]{color:#8a5d70;background:#f5edf0;border-color:#efe2e7}.team-chip[data-team=sport]{color:#6074a1;background:#eef1fa;border-color:#e4e9f3}.team-chip[data-team=kinder]{color:#947a48;background:#f8f2e7;border-color:#f0e8d8}.team-chip[data-team=wirbelsaeule]{color:#796694;background:#f0edfa;border-color:#e6e1f3}.team-chip[data-team=endo]{color:#4e7b91;background:#edf4f8;border-color:#e0edf3}.quick-row{text-align:left;background:0 0;border-width:0 0 1px;border-bottom-style:solid;border-bottom-color:#edf0ee;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.quick-row:last-child{border-bottom:0}.quick-row>svg{color:#78968a;width:18px}.quick-row>span{flex:1}.quick-row strong{font-size:12px;font-weight:600;display:block}.quick-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.quick-row .arrow{color:#93a59e;width:14px}.bottom-info{color:#6c7f75;background:#edf2ee;border-radius:12px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 17px;font-size:11px;line-height:1.6;display:flex}.bottom-info svg{width:16px;height:16px;margin-top:2px}.stack{gap:20px;display:grid}.meeting{border-top:1px solid var(--line);gap:15px;padding:13px 0;display:flex}.meeting:first-of-type{border:0}.meeting-time{color:var(--teal);min-width:42px;font-size:14px;font-weight:600}.meeting p{margin:0;font-size:12px}.meeting small{color:var(--muted);font-size:11px}.toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 15px;display:flex}.select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;max-width:100%;min-height:36px;padding:8px 30px 8px 10px;font-size:12px}.segmented{border:1px solid var(--line);background:#f5f7f5;border-radius:8px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:5px 10px;font-size:11px}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #183e2514}.days-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px;display:grid}.day-tab{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:10px 3px;font-size:10px;display:flex}.day-tab strong{color:var(--ink);font-size:18px;font-weight:550}.day-tab.active{background:var(--teal);border-color:var(--teal);color:#c6ded8}.day-tab.active strong{color:#fff}.day-tab.weekend{background:#f0f3f1}.day-tab.active.weekend{background:var(--teal)}.notice{color:#6e786c;background:#eff3ec;border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:18px;padding:11px 14px;font-size:11px;line-height:1.65;display:flex}.notice svg{width:16px;height:16px;margin-top:1px}.notice.amber{color:#8e642e;background:#fff7e9}.notice .text-link{font-size:11px}.source-note{color:#7e8e85;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:17px;font-size:10px;display:flex}.source-note a{text-underline-offset:3px;text-decoration:underline}.person-link{color:var(--ink);font-size:inherit;text-align:left;background:0 0;border:0;border-bottom:1px dotted #becdc3;padding:0;display:inline}.person-link:hover{color:var(--teal)}.person-pill{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:inline-flex}.person-pill button{color:#81928a;background:0 0;border:0;align-items:center;padding:0;display:flex}.person-pill svg{width:12px;height:12px}.person-pill.exception{background:#fffaf0;border-color:#e9cf9d}.empty-slot{color:#91a198;padding:5px 0;font-size:12px;font-style:normal;display:block}.week-scroll{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}.week-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:790px;font-size:11px}.week-table th{text-align:left;color:#64796d;background:#f5f8f5;padding:13px 12px;font-size:11px;font-weight:550}.week-table th:first-child{width:150px}.week-table td{border-top:1px solid var(--line);vertical-align:top;border-left:1px solid #edf0eb;padding:13px 11px}.week-table td:first-child{color:#586e60;background:#fbfcfa;border-left:0;font-size:11px;font-weight:550}.week-table .team-chip{white-space:normal;padding:3px 5px;font-size:10px}.week-table .person-link{margin:4px 0;display:block}.week-table .badge{margin-top:5px;padding:2px 4px;font-size:8px}.week-table .cell-button{text-align:left;background:0 0;border:0;width:100%;min-height:33px;padding:0;font-size:11px;display:block}.week-table .cell-button:hover{color:var(--teal)}.month-table{border-collapse:collapse;width:100%;font-size:12px}.month-table th{text-align:left;color:var(--muted);letter-spacing:.4px;background:#f4f7f4;padding:14px 16px;font-size:10px;font-weight:650}.month-table td{border-top:1px solid var(--line);vertical-align:top;padding:13px 16px}.month-table .weekend td{background:#f6f8f4}.month-table .current td{background:#e9f3ec}.month-table .date-col{white-space:nowrap}.month-table .date-col button{text-align:left;background:0 0;border:0;padding:0;font-size:12px}.planner-grid{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.pool{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.pool-head{border-bottom:1px solid var(--line);padding:19px}.pool-head h2{margin:0 0 5px;font-size:16px}.pool-head .input{margin-top:14px}.input{border:1px solid var(--line);outline-offset:2px;background:#fafcf9;border-radius:8px;width:100%;min-height:39px;padding:10px 12px;font-size:12px}.pool-body{max-height:680px;overflow:auto}.candidate{border-bottom:1px solid #edf1ec;align-items:center;gap:10px;padding:14px 16px;display:flex}.candidate:last-child{border:0}.avatar{color:#65816e;background:#eef2ed;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:10px;font-weight:650;display:grid}.candidate-info{flex:1;min-width:0}.candidate-info strong{font-size:12px;font-weight:600;display:block}.candidate-info .team{color:var(--muted);margin-top:1px;margin-bottom:4px;font-size:10px}.candidate-info .badge{white-space:normal;font-size:9px}.candidate-action{border:1px solid var(--line);width:27px;height:27px;color:var(--teal);background:#f8fbf6;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.candidate-action svg{width:14px;height:14px}.candidate-action.op{background:var(--amber-bg);color:var(--amber);border-color:#edd5ac}.candidate-action:disabled{color:#a2ada4;background:#f6f6f4}.planner-main{min-width:0}.task-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:13px;padding:19px;transition:border .15s}.task-card.active{border-color:#7caa95;box-shadow:0 0 0 2px #dcece2}.task-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.task-head h3{margin:0;font-size:14px}.task-head button{background:var(--tint);color:var(--teal);border:0;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:600}.task-explanation{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.6}.check-row{color:#556e5c;background:#eef3ec;border-radius:9px;align-items:flex-start;gap:10px;margin:0 0 18px;padding:13px 15px;font-size:11px;display:flex}.check-row input{accent-color:var(--teal);width:15px;height:15px;margin:3px 0 0}.check-row strong{font-size:11px;display:block}.check-row span{color:#718370;font-size:10px}.context-card{border:1px solid var(--line);background:#f2f6f0;border-radius:12px;margin-bottom:18px;padding:17px}.context-card h3{color:#6b826f;margin-bottom:11px;font-size:11px}.context-row{align-items:baseline;gap:10px;padding:7px 0;font-size:11px;display:flex}.context-row>span:first-child{width:70px;color:var(--muted);flex-shrink:0}.context-row .chip-row{gap:4px}.context-row .team-chip{padding:3px 5px;font-size:9px}.details{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:13px;padding:13px 17px}.details summary{cursor:pointer;align-items:center;gap:8px;font-size:11px;font-weight:550;display:flex}.details p{color:var(--muted);margin:10px 0 0;font-size:11px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.contact-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:19px;display:flex}.contact-card .avatar{width:40px;height:40px;font-size:12px}.contact-card h3{margin-bottom:4px}.contact-card .pager{color:var(--teal);align-items:center;gap:7px;margin-top:auto;font-size:12px;display:flex}.contact-card .pager svg{width:16px}.contact-filters{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.contact-filters .input{max-width:350px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.team-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;padding:22px;display:block}.team-card:hover{border-color:#9dbaaa}.team-card h2{margin:13px 0 10px;font-size:17px}.team-card .muted{font-size:11px}.location-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:19px 0;display:flex}.location-row:last-child{border:0}.floor-tag{background:var(--tint);width:54px;min-height:50px;color:var(--teal);border-radius:9px;flex-shrink:0;place-items:center;font-size:17px;font-weight:600;display:grid}.location-row h3{margin:1px 0 4px}.location-row p{color:var(--muted);margin:0;font-size:12px}.intro-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.step{border-bottom:1px solid var(--line);gap:15px;padding:19px 0;display:flex}.step:first-of-type{padding-top:3px}.step:last-child{border:0}.step-num{background:var(--tint);width:27px;height:27px;color:var(--teal);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.step p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.empty-card{background:#fbfdf9;border:1px dashed #ccdacf;border-radius:12px;max-width:700px;padding:30px}.empty-card h2{margin:15px 0 10px}.empty-card p{color:var(--muted);font-size:13px;line-height:1.8}.empty-card svg{color:var(--teal);width:29px;height:29px}.footer{color:#8a9a8e;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:35px;padding-top:20px;font-size:10px;display:flex}.bottom-nav{display:none}dialog{border:1px solid var(--line);width:min(570px,100% - 32px);max-height:85vh;color:var(--ink);border-radius:16px;padding:0;box-shadow:0 20px 90px #102f2745}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#182e2a60}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px 17px;display:flex}.modal-head h2{margin:0;font-size:20px}.modal-body{padding:24px}.modal-body .avatar{width:54px;height:54px;margin-bottom:17px;font-size:16px}.modal-body h3{margin-bottom:8px;font-size:23px;line-height:1.25}.modal-body .field{margin-bottom:17px}.modal-body label{margin-bottom:6px;font-size:11px;font-weight:600;display:block}.modal-body .form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.modal-body .btn{margin-top:4px}.modal-kv{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:12px 0;font-size:12px;display:flex}.search-results{max-height:48vh;margin-top:15px;overflow:auto}.search-result{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:13px 2px;display:flex}.search-result:first-child{border-top:0}.search-result strong{font-size:12px;display:block}.search-result small{color:var(--muted);font-size:10px}.search-result svg{color:#789285}.toast{bottom:25px;left:calc(50% + var(--sidebar) / 2);color:#fff;opacity:0;pointer-events:none;z-index:200;background:#213f34;border-radius:10px;max-width:calc(100% - 35px);padding:13px 20px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px);box-shadow:0 6px 30px #173a2a33}.toast.show{opacity:1;transform:translate(-50%)}.print-heading,.mobile-only{display:none}.rule-dot{background:var(--teal);border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}@media (min-width:1550px){.main,.topbar{padding-left:60px;padding-right:60px}}@media (max-width:1190px){:root{--sidebar:194px}.sidebar{padding-left:10px;padding-right:10px}.brand{padding-left:10px}.brand-text strong{font-size:18px}.main{padding:30px 26px 45px}.topbar{padding:0 26px}.hero{gap:24px}.hero h1{font-size:39px}.welcome{padding:22px}.planner-grid{grid-template-columns:260px minmax(0,1fr)}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1.3fr 1fr}}@media (max-width:960px){.hero{grid-template-columns:1fr 1fr;gap:18px}.hero h1{font-size:35px}.content-grid{grid-template-columns:1fr}.welcome h2{font-size:22px}.top-title{display:none}.topbar{justify-content:flex-end}.plan-card{gap:11px;padding:17px}.plan-card h3{font-size:14px}.square-icon{width:38px;height:42px}.planner-grid{grid-template-columns:230px minmax(0,1fr);gap:13px}.main{padding:27px 22px}.page-head h1{font-size:29px}.page-head{align-items:flex-start}.pool-head{padding:16px}.candidate{padding:12px}.task-card{padding:16px}.context-row{flex-direction:column;gap:3px}.top-actions{justify-content:space-between;width:100%}.search-trigger{min-width:170px}.head-actions{justify-content:flex-end}.intro-grid{grid-template-columns:1fr}}@media (max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.main-shell{margin:0}.topbar{gap:8px;height:65px;padding:0 20px}.mobile-brand{align-items:center;gap:9px;margin-right:auto;display:flex}.mobile-brand .brand-mark{border-radius:8px;width:25px;height:29px}.mobile-brand .brand-mark:after{border-width:1.5px;width:10px;height:10px}.mobile-brand .brand-mark:before{width:1.5px;height:20px}.mobile-brand strong{letter-spacing:-.6px;font-size:17px;font-weight:600}.top-actions{gap:11px;width:auto}.search-trigger{background:0 0;border:0;min-width:0;padding:5px}.search-trigger svg{width:20px;height:20px}.search-trigger span,.search-trigger kbd,.user-dot{display:none}.prototype-label{font-size:9px}.prototype-label .dot{width:5px;height:5px}.main{min-height:calc(100vh - 65px);padding:28px 20px 105px}.hero{grid-template-columns:1fr;gap:21px;margin-bottom:25px}.hero h1{letter-spacing:-1.25px;font-size:36px;line-height:1.12}.hero .eyebrow{letter-spacing:1px;font-size:10px}.hero .intro{max-width:350px;margin-bottom:0;font-size:12px;line-height:1.8}.welcome{min-height:155px;padding:21px 23px}.welcome h2{max-width:none;margin-bottom:6px;font-size:22px}.welcome p{max-width:none;margin-bottom:12px;font-size:11px}.welcome .eyebrow{margin-bottom:8px;font-size:9px}.section-heading h2{font-size:17px}.plan-cards{grid-template-columns:1fr;gap:11px;margin-bottom:25px}.plan-card{border-radius:12px;gap:15px;padding:17px 18px}.plan-card h3{font-size:16px}.square-icon{width:42px;height:44px}.plan-card .eyebrow{font-size:9px}.plan-card p{font-size:10px}.card{padding:20px}.content-grid{gap:17px}.card-title h2{font-size:16px}.card-title{margin-bottom:12px}.day-item{padding:13px 0}.bottom-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:10px 10px max(12px, env(safe-area-inset-bottom));z-index:30;background:#fffffff2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#829288;flex-direction:column;align-items:center;gap:4px;min-width:55px;padding:2px 8px;font-size:9px;display:flex}.bottom-nav a.active{color:var(--teal);font-weight:700}.bottom-nav svg{width:20px;height:20px}.page-head{margin-bottom:22px;display:block}.page-head h1{letter-spacing:-.9px;font-size:30px}.page-head p{font-size:12px}.head-actions{justify-content:flex-start;gap:7px;margin-top:17px}.btn{min-height:37px;padding:9px 11px;font-size:11px}.toolbar{gap:9px;padding:10px 11px}.toolbar .select{max-width:100%;font-size:11px}.toolbar>div{gap:7px}.days-strip{gap:4px}.day-tab{padding:8px 2px;font-size:9px}.day-tab strong{font-size:16px}.desktop-only{display:none!important}.mobile-only{display:block}.contact-grid{grid-template-columns:1fr}.contact-card{gap:10px;padding:18px}.contact-filters{gap:8px}.contact-filters .input{max-width:none}.contact-filters .select{width:100%}.team-grid{grid-template-columns:1fr}.team-card{padding:20px}.notice{padding:11px 12px;font-size:10px}.planner-grid{flex-direction:column-reverse;gap:18px;display:flex}.planner-main,.pool{width:100%}.pool-body{max-height:510px}.pool-head h2{font-size:16px}.candidate{padding:13px 17px}.candidate-info strong{font-size:13px}.candidate-info .team{font-size:11px}.candidate-info .badge{font-size:10px}.candidate-action{width:33px;height:33px}.context-row{flex-direction:row;align-items:baseline;gap:7px}.context-row>span:first-child{width:64px}.task-card{padding:17px}.task-head h3{font-size:14px}.task-head button{padding:7px 10px}.source-note{font-size:9px}.footer{margin-top:25px;font-size:9px}.toast{width:max-content;max-width:calc(100% - 30px);font-size:11px;bottom:88px;left:50%}.month-table{min-width:540px;font-size:10px}.month-table td,.month-table th{padding:11px 10px}.modal-head{padding:19px}.modal-body{padding:20px}.intro-grid{grid-template-columns:1fr}.empty-card{padding:25px}.mobile-plan-button{width:100%;margin:15px 0 0}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;font-size:10px}.sidebar,.topbar,.bottom-nav,.head-actions,.toolbar,.days-strip,.footer,.notice,.source-note,.toast,.no-print,.pool,dialog{display:none!important}.main-shell{margin:0}.main{max-width:none;min-height:0;padding:0}.page-head{margin-bottom:18px}.page-head h1{font-size:24px}.print-heading{color:#666;margin-bottom:10px;font-size:10px;display:block}.week-scroll{border-radius:0;overflow:visible}.week-table{min-width:0;font-size:9px}.week-table th,.week-table td{padding:8px}.week-table th:first-child{width:120px}.team-chip{color:#333!important;background:0 0!important;border-color:#ddd!important;font-size:9px!important}.month-table{font-size:10px}.month-table th,.month-table td{padding:8px}.card{break-inside:avoid;border-radius:0}.planner-grid{display:block}.person-link{border:0}.btn{display:none}.chip-row{gap:4px}h1,h2,h3{break-after:avoid}.week-table tr{break-inside:avoid}.month-table thead{display:table-header-group}}.pool,.task-card{scroll-margin-top:90px}.roster-groups{gap:17px;display:grid}.roster-group+.roster-group{border-top:1px solid var(--line);padding-top:16px}.roster-group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.roster-group-head>span{color:var(--muted);font-size:9px}.roster-list{margin:0;padding:0;list-style:none}.roster-person{align-items:flex-start;gap:7px;min-width:0;padding:7px 0;display:flex}.roster-person-content{flex:1;min-width:0}.roster-name{overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.roster-name .person-link{line-height:1.5}.roster-person.not-present .roster-name{color:#87918b}.roster-person.not-present .person-link{color:#87918b;border-color:#d6ddd5}.roster-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;font-size:9px;display:flex}.roster-note .badge{white-space:normal;font-size:9px}.roster-empty{margin-bottom:0}.roster-group .team-chip{font-weight:600}.grip{color:#97aaa0;touch-action:none;cursor:grab;background:0 0;border:0;border-radius:4px;flex-shrink:0;place-items:center;width:22px;min-height:27px;padding:2px;display:inline-grid}.grip svg{stroke-width:3px;width:15px;height:20px}.grip:hover{background:var(--tint);color:var(--teal)}.grip:active{cursor:grabbing}.grip:disabled{cursor:not-allowed;opacity:.35}.draggable-person[draggable=true]{cursor:grab}.draggable-person[draggable=true]:active{cursor:grabbing}.roster-person.draggable-person:hover{background:#f3f7f0;border-radius:6px}.roster-name .person-link{cursor:pointer}.candidate .grip{margin-left:-3px}.candidate-detail{margin-top:5px;font-size:9px;line-height:1.6}.candidate-info strong{font-size:12px;line-height:1.5}.candidate.selected-person{box-shadow:inset 3px 0 0 var(--teal);background:#edf6ed}.pool-filter{width:100%;margin-top:9px;font-size:11px}.planner-grid .pool{position:sticky;top:96px}.planner-grid .pool-body{min-height:250px;max-height:calc(100vh - 310px)}.selection-bar{background:#e4f1e6;border:1px solid #b9d5bf;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;font-size:12px;display:flex}.selection-bar>span{flex:1}.selection-bar .text-link{font-size:10px}.planning-tasks{grid-template-columns:1fr;gap:14px;margin-bottom:24px;display:grid}.planning-tasks .task-card{min-width:0;margin-bottom:0}.drop-zone{transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.drop-target-action{color:#5d8066;text-align:center;white-space:normal;overflow-wrap:anywhere;background:#f6faf4;border:1px dashed #aec9b5;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:48px;margin:13px 0 9px;padding:12px 10px;font-size:11px;line-height:1.55;display:flex}.drop-target-action svg{width:15px;height:15px}.drop-target-action:hover{color:var(--teal);background:#eaf4e7}body.is-dragging .drop-zone{border-style:dashed;border-color:#7faa89}body.is-dragging .drop-zone.drop-over{border-color:var(--teal);background:#ecf7e9;box-shadow:0 0 0 3px #bfd8ba}body.is-dragging .drop-zone.drop-denied{background:#fff5ef;border-color:#b56b61}.drop-denied .drop-target-action{color:#a85b50;background:#fff5ef;border-color:#d39a8c}.person-pill{flex-wrap:wrap;max-width:100%;line-height:1.6}.person-pill .grip{width:18px;min-height:21px}.person-pill .remove-person{justify-content:center;min-width:22px;min-height:23px}.person-pill .person-link{font-size:11px}.roster-section-title{margin:24px 0 15px}.roster-section-title h2{font-size:17px}.allocation-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.allocation-card{min-width:0;padding:19px}.allocation-card>h2{align-items:center;gap:8px;margin-bottom:17px;font-size:15px;display:flex}.allocation-card>h2 svg{color:#6d8f79;width:17px}.planning-open-section{margin-top:17px;padding:19px}.planning-open-section .card-title{margin-bottom:15px}.planning-open-section h2{font-size:15px}.duty-fields{gap:0;display:grid}.duty-field{border-top:1px solid var(--line);grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);align-items:start;gap:14px;padding:12px 0;display:grid}.duty-field:first-child{border-top:0;padding-top:0}.duty-field:last-child{padding-bottom:0}.duty-field-label{color:var(--muted);font-size:11px;line-height:1.6}.duty-name{overflow-wrap:anywhere;margin-bottom:4px;font-size:12px;line-height:1.6;display:block}.duty-name:last-child{margin-bottom:0}.names-week-table .duty-field{grid-template-columns:minmax(0,1fr);gap:3px}.week-calendar{background:var(--white,#fff);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(155px,1fr) minmax(155px,1fr) auto;align-items:end;gap:10px 14px;margin:0 0 18px;padding:16px;display:grid}.week-calendar label{color:var(--muted);gap:6px;min-width:0;font-size:12px;display:grid}.week-calendar .input{width:100%;min-width:0}.week-calendar-summary,.week-calendar>.notice{grid-column:1/-1;margin:0}.absence-band{border-top:3px solid var(--amber);margin-top:20px}.absence-band .absence-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 20px;display:grid}.absence-band .absence-row{flex-direction:column;align-items:flex-start;gap:5px;padding:12px 0}.absence-band .absence-row>span:last-child{text-align:left}.absence-table-row>td{background:#fffaf1}.compact-absences .absence-row{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.compact-absences .absence-row>span:last-child{text-align:left}.compact-absences .badge{white-space:normal}@media (max-width:760px){.week-calendar{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.week-calendar button{width:100%}.absence-band .absence-list{grid-template-columns:minmax(0,1fr)}}.absence-row{border-top:1px solid #edf0e9;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 0;font-size:12px;display:flex}.absence-row:first-child{border-top:0;padding-top:0}.absence-row>span:first-child{overflow-wrap:anywhere;min-width:0}.absence-row>span:last-child{text-align:right;flex-shrink:0}.absence-row small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.absence-edit-row{color:var(--muted);border-top:1px dashed var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:10px;display:flex}.special-roster{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.special-roster h3{color:var(--teal);margin-bottom:7px;font-size:12px}.special-roster p{margin-bottom:0}.names-week-table{min-width:1120px}.names-week-table th:first-child{width:140px}.names-week-table .roster-list .person-link{overflow-wrap:anywhere;margin:0;font-size:11px;display:inline}.names-week-table .roster-person{padding:6px 0}.names-week-table .roster-group-head>span{display:none}.names-week-table .roster-group+.roster-group{padding-top:10px}.names-week-table .roster-groups{gap:10px}.names-week-table .roster-group-head{margin-bottom:5px}.names-week-table .roster-note{margin-top:3px}.names-week-table .badge{margin:0;font-size:8px}.reader-with-rosters{grid-template-columns:1.3fr 1fr}.reader-with-rosters .day-item{line-height:1.8}.reader-with-rosters .day-item .value{font-size:12px}.education-event{grid-template-columns:48px minmax(0,1fr);gap:15px;padding:6px 0;display:grid}.event-date{height:57px;color:var(--teal);background:#e9f2e5;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;display:flex}.event-date strong{font-size:24px;font-weight:600;line-height:1.1}.event-date span{letter-spacing:1px;margin-top:3px;font-size:9px;font-weight:600}.education-event .eyebrow{letter-spacing:.7px;margin-bottom:9px;font-size:9px;line-height:1.8}.education-event h3{letter-spacing:-.2px;overflow-wrap:anywhere;margin-bottom:12px;font-size:16px;line-height:1.5}.event-location{color:var(--teal);align-items:center;gap:5px;margin:0 0 7px;font-size:11px;display:flex}.event-location svg{width:14px;height:14px}.event-speaker{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.home-education>.text-link{margin:16px 0 0}.home-education .education-event{grid-template-columns:42px minmax(0,1fr);gap:12px}.home-education .education-event h3{font-size:14px}.home-education .event-date{height:51px}.meeting-time{white-space:nowrap}.drag-ghost{z-index:500;pointer-events:none;background:var(--teal);color:#fff;box-shadow:var(--shadow);border-radius:9px;max-width:230px;padding:10px 16px;font-size:12px;line-height:1.6;position:fixed;transform:translate(-50%,-140%)}@media (min-width:1250px){.planning-tasks,.allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-grid{grid-template-columns:280px minmax(0,1fr)}}@media (max-width:960px){.reader-with-rosters{grid-template-columns:1fr}.planning-open-section .card-title{flex-wrap:wrap;align-items:flex-start}}@media (max-width:760px){.planner-grid{flex-direction:column}.planner-grid .pool{position:static}.planner-grid .pool-body{min-height:0;max-height:300px}.roster-name{font-size:13px}.roster-person{padding:9px 0}.grip{width:27px;min-height:34px}.candidate-info strong{font-size:13px}.person-pill .grip{width:21px;min-height:28px}.person-pill .person-link{font-size:12px}.allocation-card,.planning-open-section{padding:19px}.planning-tasks{gap:15px}.selection-bar{flex-wrap:wrap;align-items:flex-start}.selection-bar>span{min-width:190px}.selection-bar .text-link{margin-left:30px}.drop-target-action{min-height:52px;font-size:11px}.duty-field{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:11px}.duty-name{font-size:12px}.education-event{grid-template-columns:45px minmax(0,1fr);gap:13px}.education-event h3{font-size:15px}.education-event .eyebrow{font-size:9px}.reader-with-rosters .roster-group-head>span{font-size:10px}}@media print{.names-week-table{min-width:0}.names-week-table .roster-name,.names-week-table .roster-list .person-link{font-size:8px}.names-week-table .roster-person{padding:3px 0}.names-week-table .roster-note .badge{font-size:7px}.names-week-table .roster-group-head{margin:0}.names-week-table .team-chip{font-size:8px!important}.names-week-table td{padding:6px}.names-week-table th:first-child{width:95px}.grip,.drop-target-action{display:none!important}}.demo-strip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:12px}.drag-ghost{pointer-events:none}.grip{touch-action:none}.modal-body button.team-card{text-align:left}.btn:disabled{opacity:.5;cursor:not-allowed}button.person-link{white-space:normal;max-width:100%}.loading{padding:40px}.modal-body .search-results:empty,.weekly-print-wrap{display:none}.weekly-print-wrap.is-preview{border:1px solid var(--line);background:#e9eeec;max-width:100%;padding:8px;display:block;overflow:auto}.weekly-print-sheet{box-sizing:border-box;color:#111;background:#fff;width:297mm;min-height:210mm;padding:8mm;font:9pt/1.15 Arial,Helvetica,sans-serif}.weekly-print-sheet header{margin-bottom:3mm}.weekly-print-sheet h2{color:#111;letter-spacing:0;margin:0 0 1mm;font:700 14pt/1.15 Arial,Helvetica,sans-serif}.weekly-print-sheet header p{margin:0;font-size:9pt}.weekly-print-table{border-collapse:collapse;table-layout:fixed;width:100%;font:inherit}.weekly-print-table .print-label-column{width:34mm}.weekly-print-table th,.weekly-print-table td{vertical-align:top;text-align:left;white-space:pre-line;overflow-wrap:anywhere;border:.5pt solid #777;padding:2.5pt 3pt}.weekly-print-table th{font-weight:600}.weekly-print-table th[scope=row]{overflow-wrap:normal}.weekly-print-table thead th,.weekly-print-table tbody th{background:#f1f3f2}.weekly-print-table .print-absences td{font-size:8.5pt}.print-holiday,.print-weekend-dates{margin-top:1pt;font-weight:400;display:block}.weekly-print-legend{margin:2mm 0 0;font-size:7.5pt}@media print{@page weekly-plan{size:A4 landscape;margin:8mm}.weekly-plan>.page-head,.weekly-plan>.weekly-screen{display:none!important}body:has(.weekly-plan) .demo-strip{display:none!important}body:has(.weekly-plan) .main-shell{min-height:0}.weekly-plan{page:weekly-plan;margin:0}.weekly-print-wrap,.weekly-print-wrap.is-preview{background:#fff;border:0;margin:0;padding:0;display:block;overflow:visible}.weekly-print-sheet{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:281mm;max-width:100%;min-height:0;margin:0;padding:0}.weekly-print-table tr{break-inside:avoid}}
