.owner-multi-filter{position:relative;min-width:180px}.owner-multi-filter summary{cursor:pointer;padding:10px 12px;border:1px solid #ddd;border-radius:10px;background:white}.owner-multi-options{position:absolute;top:100%;left:0;z-index:20;min-width:240px;max-height:320px;overflow:auto;padding:12px;background:white;border:1px solid #ddd;border-radius:10px;box-shadow:0 6px 20px #0002}.owner-multi-options label{display:flex!important;align-items:center;gap:8px;padding:8px}.owner-multi-options input{width:18px!important;height:18px}.owner-multi-options small{display:block;padding:8px;color:#666}
@font-face{font-family:Pretendard;src:url(assets/Pretendard-Regular.otf);font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url(assets/Pretendard-Bold.otf);font-weight:700;font-display:swap}
:root{--primary:#4d4dff;--primary-deep:#3434d9;--primary-soft:#ededff;--text:#20213d;--muted:#7b7e95;--line:#ececf5;--surface:#fff;--bg:#f4f4fa;--orange:#ffab36;--cyan:#16b8c7;--shadow:0 12px 35px #25256006;--radius:25px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4d4dff80}button{transition:background .16s,box-shadow .16s,transform .16s}button:active{transform:translateY(1px)}a{color:var(--primary);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.8px}h1{font-size:31px;line-height:1.3;margin-bottom:12px}h2{font-size:18px;line-height:1.5;margin-bottom:12px}p{line-height:1.8}.ui-icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;letter-spacing:-.6px;line-height:1.2}.brand small{display:block;font-weight:400;font-size:11px;letter-spacing:.2px;color:var(--muted);margin-top:6px}.brand-mark{display:grid;place-items:center;width:43px;height:46px;border-radius:15px;background:var(--primary);color:white;box-shadow:0 6px 16px #4d4dff21}.brand-mark .ui-icon{width:25px;height:25px}.eyebrow{display:block;font-size:10px;font-weight:700;color:var(--primary);letter-spacing:1.6px;margin-bottom:10px}.muted{color:var(--muted);font-size:14px}.caption{font-size:12px;color:var(--muted);margin:16px 0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:13px;padding:12px 18px;background:var(--primary);color:white;font-size:13px;font-weight:700;box-shadow:0 4px 12px #4d4dff14}.primary:hover{background:var(--primary-deep)}.primary .ui-icon{width:18px;height:18px}.actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:22px 0 0}.actions button:not(.primary){border:0;border-radius:12px;padding:12px 18px;background:var(--primary-soft);color:var(--primary);min-height:44px}.actions .primary+.primary{background:var(--primary-soft);color:var(--primary);box-shadow:none}.text-button{border:0;background:transparent;color:var(--primary);padding:10px 0;font-size:12px;min-height:44px}.error{color:#c33f55;font-size:13px}.notice{border:1px solid #cce8dd;color:#33765b;background:#f0faf5;padding:14px 18px;border-radius:14px;font-size:13px}.warning{background:#fff5e6;color:#906326;padding:18px;border-radius:16px}.empty{text-align:center;padding:45px 20px;background:#ffffff90;border-radius:20px;color:var(--muted);font-size:14px}.empty:first-child{grid-column:1/-1}
/* Welcome */
.login-shell{display:grid;grid-template-columns:1fr 1.05fr;max-width:1130px;min-height:740px;margin:5vh auto;border-radius:37px;overflow:hidden;background:white;box-shadow:0 30px 100px #2020480a}.login-story{position:relative;overflow:hidden;padding:44px 44px 28px;color:white;background:linear-gradient(155deg,#5757ff 0%,#4d4dff 60%,#3434d9 100%);display:flex;flex-direction:column}.login-story:before{content:'';position:absolute;width:400px;height:400px;border:1px solid #ffffff10;border-radius:50%;right:-180px;top:100px}.login-story .brand{color:white;font-size:21px;position:relative;z-index:1}.login-story .brand small{color:#d6d6ff}.login-story .brand-mark{background:#ffffff20;box-shadow:none;border:1px solid #ffffff25}.story-copy{position:relative;z-index:1;margin-top:65px}.story-copy .eyebrow{color:#cdcdff;font-size:10px;margin-bottom:18px}.story-copy h1{font-size:43px;line-height:1.35;letter-spacing:-1.8px;margin-bottom:16px}.story-copy p{font-size:14px;line-height:1.9;color:#e0e0ff}.story-footer{position:relative;font-size:10px;letter-spacing:1px;color:#c9c9ff;margin-top:auto;z-index:1}.login-art{position:relative;flex:1;min-height:255px;margin-top:15px}.art-sheet{position:absolute;left:22%;top:10px;width:210px;height:245px;background:linear-gradient(135deg,#fff,#ededff);border-radius:27px;padding:27px 23px;transform:rotate(-9deg);box-shadow:20px 22px 50px #20209045;border:1px solid #fff}.art-sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.art-pill{display:block;width:65px;height:8px;background:#ceceee;border-radius:8px}.art-dot{width:8px;height:8px;background:var(--orange);border-radius:50%}.art-line{display:flex;align-items:center;gap:12px;margin-bottom:18px}.art-line span{width:28px;height:28px;background:var(--primary);border-radius:10px;display:grid;place-items:center}.art-line .ui-icon{width:17px;height:17px;stroke-width:2.5}.art-line i{display:block;width:92px;height:6px;background:#d3d3ec;border-radius:8px}.art-line:nth-child(3) i{width:63px}.art-line.undone span{background:transparent;border:1.5px solid #cccce7}.art-line.undone i{width:75px}.art-sheet-foot{display:flex;align-items:center;gap:13px;margin-top:28px}.art-sheet-foot i{height:5px;flex:1;border-radius:4px;background:linear-gradient(90deg,var(--primary) 65%,#e0e0f4 65%)}.art-sheet-foot b{font-size:8px;color:#9393b1;letter-spacing:1px}.art-badge{position:absolute;left:64%;top:165px;width:82px;height:82px;border:6px solid #ffffffdd;background:var(--orange);border-radius:25px;display:grid;place-items:center;transform:rotate(12deg);box-shadow:0 14px 25px #22228a20}.art-badge .ui-icon{width:39px;height:39px;stroke-width:2.5}.art-orbit{position:absolute;border-radius:50%;border:1px solid #ffffff1c}.orbit-one{width:270px;height:270px;left:-120px;top:30px}.orbit-two{width:390px;height:390px;left:-180px;top:50px}.art-spark{position:absolute;color:#bfbfff;font-size:28px}.spark-one{left:5%;top:20px}.spark-two{right:5%;top:80px;font-size:17px;color:#ffe1ad}.login-panel{padding:65px;display:flex;flex-direction:column;justify-content:center;position:relative;background:linear-gradient(110deg,#fff,#fafaff)}.login-content{max-width:340px;width:100%;margin:auto}.login-emblem{display:grid;place-items:center;width:64px;height:64px;background:#eeeefe;color:var(--primary);border-radius:22px;box-shadow:0 10px 25px #3636a908;margin-bottom:35px}.login-emblem .ui-icon{width:27px;height:27px}.login-panel .eyebrow{font-size:10px;margin-bottom:15px;color:#9898b0}.login-panel h2{font-size:31px;line-height:1.4;letter-spacing:-1.1px;margin-bottom:18px}.login-message{font-size:13px;color:var(--muted);min-height:38px;line-height:1.7;margin-bottom:28px;overflow-wrap:anywhere}.google-login{display:flex;gap:13px;align-items:center;justify-content:center;width:100%;min-height:58px;background:white;border:1px solid #e6e6ef;border-radius:15px;color:#28283e;font-size:14px;font-weight:700;box-shadow:0 7px 18px #25254f05}.google-login:hover{border-color:var(--primary);background:#fafaff;box-shadow:0 7px 20px #4d4dff0a}.google-login>svg:first-child{width:21px;height:21px}.google-login>.ui-icon{width:18px;margin-left:auto;color:#9b9bb3}.google-login>svg:first-child{margin-right:auto}.login-policy{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;color:#9293a7;font-size:11px;line-height:1.9}.login-policy .ui-icon{width:15px;height:15px;margin-top:3px;color:#9292b3}.browser-note{font-size:10px;color:#9b9bac;margin-top:16px}.login-copyright{text-align:center;font-size:9px;letter-spacing:1.7px;color:#a3a3b6;margin-top:40px}.login-loading{font-size:13px;color:var(--muted);min-height:58px;display:flex;align-items:center;gap:10px;background:#f7f7fc;border-radius:15px;padding:15px}.login-loading span{width:14px;height:14px;border:2px solid #d6d6f4;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Workspace */
.demo{position:absolute;right:40px;top:21px;font-size:10px;color:#999bb0;z-index:1}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);max-width:1500px;min-height:100vh;margin:0 auto}.shell aside{display:flex;flex-direction:column;background:#ffffffb5;border-right:1px solid #e9e9f3;padding:38px 25px;gap:35px}.team-picker{display:grid;gap:10px;font-size:11px;font-weight:700;color:#999bb2;letter-spacing:.1px}.team-picker select{width:100%;font-weight:700;background:#f1f1fc;color:#424471;border-color:transparent;padding:13px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{border:0;background:none;text-align:left;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:13px;color:#9395ac;font-size:13px;min-height:49px}.nav button .ui-icon{width:19px;height:19px;opacity:.85}.nav button:hover{background:#f6f6fe;color:var(--primary)}.nav button.active{color:var(--primary);background:#ededff;font-weight:700}.nav button.active .ui-icon{opacity:1}.side-note{margin-top:auto;display:flex;flex-direction:column;gap:14px;font-size:11px;color:#9597ad;border-top:1px solid var(--line);padding-top:24px}.side-note .primary{background:white;border:1px solid #e7e7f1;color:#8587a1;box-shadow:none;font-weight:400;font-size:11px;width:100%}.main{padding:43px 45px 65px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 38px}.crumb{font-size:11px;color:#a1a3b5;letter-spacing:.1px}.top .primary{background:white;color:#9294aa;box-shadow:none;font-size:11px;font-weight:400;min-height:38px;padding:9px 13px;border:1px solid #eaeaf3}.top .primary .ui-icon{width:14px;height:14px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.admin-heading h1{margin:0;font-size:29px}.admin-heading .eyebrow{color:#9d9fb2;font-size:9px;letter-spacing:1.2px;margin-bottom:8px}.admin-heading>.primary{font-size:12px}.main>.muted{font-size:12px;margin-bottom:28px}.panel,.live-task{background:linear-gradient(120deg,#fff,#fefeff);border:1px solid #fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}.section-gap{margin-top:26px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-header h2{margin:0;font-size:17px}.panel-header .text-button{font-size:11px;white-space:nowrap}.admin-kpis{display:grid;grid-template-columns:1fr 1fr 1fr 1.18fr;gap:16px;margin:27px 0}.admin-kpis>div{position:relative;overflow:hidden;border:1px solid #fff;border-radius:22px;background:linear-gradient(130deg,#fff,#fafaff);box-shadow:var(--shadow);padding:25px 24px;min-height:130px}.admin-kpis span{display:block;font-size:11px;color:#9293ab;letter-spacing:.1px;margin-bottom:16px}.admin-kpis strong{font-size:32px;letter-spacing:-1px;font-weight:700;line-height:1}.admin-kpis small{font-size:12px;font-weight:400;color:#a4a5b9;margin-left:5px}.admin-kpis>div:nth-child(2) strong{color:var(--primary)}.admin-kpis>div:last-child{background:linear-gradient(135deg,#5d5dff,var(--primary),#4040e8);border-color:transparent;color:white;box-shadow:0 12px 24px #4d4dff20}.admin-kpis>div:last-child:before{content:'';position:absolute;width:160px;height:160px;border-radius:50%;border:25px solid #ffffff08;right:-70px;top:-60px}.admin-kpis>div:last-child span,.admin-kpis>div:last-child small{color:#d3d3ff}.admin-kpis .bar{margin-top:12px;height:4px;background:#ffffff30}.admin-kpis .bar>div{background:white}.bar{height:7px;background:#eeeeff;border-radius:20px;overflow:hidden}.bar>div{height:100%;border-radius:20px;background:linear-gradient(90deg,#8d8dff,var(--primary));min-width:0}.cycle-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:30px}.cycle-card{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;overflow:hidden}.cycle-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ededff;color:var(--primary);margin-bottom:17px}.cycle-symbol .ui-icon{width:17px;height:17px}.cycle-card h2{font-size:16px;margin:0 0 7px}.cycle-card p{font-size:10px;color:#9698ad;margin:0;white-space:nowrap}.ring{width:79px;height:79px;border-radius:50%;padding:7px;background:conic-gradient(var(--ring-color,var(--primary)) var(--pct),#ededf9 0);flex-shrink:0}.ring>div{height:100%;width:100%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring strong{font-size:21px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.ring span{font-size:8px;color:#a1a2b7;margin-top:5px}.cycle-card[data-cycle-kind="주간"]{--ring-color:var(--orange)}.cycle-card[data-cycle-kind="주간"] .cycle-symbol{background:#fff4e3;color:#e69623}.cycle-card[data-cycle-kind="월간"]{--ring-color:var(--cyan)}.cycle-card[data-cycle-kind="월간"] .cycle-symbol{background:#e6f8fa;color:var(--cyan)}.progress-row{display:grid;grid-template-columns:155px 1fr 50px;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid #f0f0f6}.progress-row:last-child{border-bottom:0}.progress-row>b{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;color:#6d6f8a}.person-avatar{display:grid;place-items:center;flex-shrink:0;width:31px;height:34px;background:#eeeeff;color:var(--primary);border-radius:11px;font-size:11px;font-weight:700}.progress-row small{display:block;color:#a3a4b8;font-size:10px;margin-top:8px}.progress-row>strong{color:var(--primary);font-size:16px;letter-spacing:-.5px;text-align:right}.team-progress{display:block;background:none;border:0;width:100%;color:inherit;text-align:left;padding:0;border-radius:12px}.team-progress:hover{background:#f9f9ff}.attention-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.attention-row:last-child{border:0}.attention-row small{display:block;color:#a1a3b6;font-size:10px;margin-top:6px}.badge{display:inline-flex;align-items:center;align-self:center;border-radius:9px;padding:6px 10px;font-size:10px;white-space:nowrap;background:#f0f0fc;color:var(--primary)}.badge.amber{background:#fff2df;color:#b47b24}.badge.purple{background:var(--primary-soft);color:var(--primary)}.admin-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.admin-shortcuts button{position:relative;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:5px 12px;background:white;border:1px solid #fff;border-radius:21px;padding:23px;text-align:left;box-shadow:var(--shadow);color:var(--text)}.admin-shortcuts button:hover{border-color:#d9d9ff;box-shadow:0 10px 25px #4d4dff0b}.shortcut-icon{display:grid;place-items:center;width:38px;height:42px;border-radius:13px;background:var(--primary-soft);color:var(--primary);grid-row:span 2}.shortcut-icon .ui-icon{width:19px;height:19px}.admin-shortcuts b{font-size:12px;font-weight:700}.admin-shortcuts button>span:not(.shortcut-icon){font-size:9px;color:#9b9db2;white-space:normal}.admin-shortcuts i{display:none}
/* Checklists and management */
.cycle-tabs{display:inline-flex;gap:5px;background:#eaeaf5;border-radius:15px;padding:5px;margin:0 0 20px}.cycle-tabs button{background:none;border:0;color:#9596ac;border-radius:11px;padding:11px 27px;font-size:12px;min-height:42px}.cycle-tabs button.chosen{background:white;color:var(--primary);font-weight:700;box-shadow:0 3px 9px #24245006}.live-filters{justify-content:flex-end;margin:0 0 18px}.live-filters select{font-size:11px;min-height:43px}.live-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-top:25px}.live-task{padding:25px;min-width:0}.live-task h2{font-size:16px;margin:16px 0 12px;line-height:1.6;overflow-wrap:anywhere}.task-meta{font-size:10px;color:#9a9bb0;line-height:1.7}.task-meta>span{float:right;color:#9696bd}.task-title-row{display:flex;align-items:center;gap:13px;margin:19px 0}.task-title-row h2{font-size:16px;margin:0;letter-spacing:-.5px}.task-indicator{display:grid;place-items:center;background:#f0f0ff;color:#a4a4d0;border-radius:13px;width:39px;height:42px;flex-shrink:0}.task-indicator .ui-icon{width:19px;height:19px}.live-task[data-task-state="완료"] .task-indicator{background:var(--primary);color:white}.live-task[data-task-state="보류"] .task-indicator{background:#fff1db;color:#dd9a31}.live-task[data-task-state="진행중"] .task-indicator{background:#e8f8fa;color:#16a8b5}.live-task[data-task-state="완료"]{background:#fcfcff}.task-guide{margin:19px 0}.task-guide summary{font-size:11px;color:#9191b0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;min-height:30px}.task-guide summary:before{content:'+';font-size:15px;color:var(--primary);width:16px;text-align:center}.task-guide[open] summary:before{content:'−'}.task-guide p{background:#f7f7fd;border-radius:13px;padding:15px;font-size:12px;line-height:1.9;white-space:pre-wrap;color:#7e8099;margin-top:12px}.live-task p{font-size:12px;white-space:pre-wrap;color:#82849b;line-height:1.85}.live-task>small{font-size:10px;color:#aaaabd;display:block}.live-task .actions{border-top:1px solid #f0f0f6;padding-top:17px;margin-top:20px;align-items:center}.live-task .primary{font-size:11px;min-height:40px;padding:10px 14px}.live-task select{font-size:11px;min-height:40px;padding:9px 12px}.live-task .actions select{margin-right:auto;min-width:115px;border-color:transparent;background:#f2f2fd;color:var(--primary);font-weight:700}.memo{background:#fff8ec;border-radius:11px;padding:12px;color:#aa8b55!important}.status-chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;border-radius:9px;padding:7px 11px;background:#f0f0f9;color:#9092ac;white-space:nowrap}.status-chip:before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%}.status-chip[data-state="완료"]{background:#ededff;color:var(--primary)}.status-chip[data-state="진행중"]{background:#e7f7f9;color:#1b9ca9}.status-chip[data-state="보류"]{background:#fff3df;color:#be8730}.source-notice{border:1px solid #e7e7fc;background:#efeffc;border-radius:20px;padding:23px;color:#68688b;font-size:12px;line-height:1.9;margin:24px 0}.source-notice span{display:block;font-size:11px;color:#9292ae;margin-top:5px}.source-link{display:block;font-size:12px;color:var(--primary);margin:16px 0;overflow-wrap:anywhere}.team-card .actions{justify-content:flex-start}.team-card>.badge{margin-bottom:6px}.team-card>small{line-height:1.9}.manage-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:27px 0 12px}.manage-toolbar>input{flex:1;min-width:190px;background:white}.archive-toggle{display:flex;align-items:center;gap:8px;color:#9293ab;font-size:11px;min-height:44px;white-space:nowrap}.archive-toggle input{accent-color:var(--primary);width:17px;height:17px}.admin-table{padding:0;overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:12px;min-width:670px}th,td{text-align:left;padding:20px 22px;border-bottom:1px solid #f0f0f7;line-height:1.7}th{font-size:10px;color:#9b9cb2;font-weight:400;background:#fafaff;white-space:nowrap}td{max-width:300px;color:#74768f}td b{font-weight:400;color:#464863}td small{display:block;font-size:9px;color:#aaabbc;margin-top:6px}.table-actions{display:flex;gap:7px}.table-actions .primary{font-size:10px;min-height:36px;padding:8px 11px;box-shadow:none}.table-actions .primary:last-child{background:#f0f0fc;color:#8f90ad}.member-add{margin-top:25px}.member-add>summary{font-size:13px;font-weight:700;cursor:pointer;color:var(--primary);list-style:none}.live-form{display:grid;gap:16px;margin:24px 0;max-width:500px}.live-form label{display:grid;gap:8px;font-size:11px;color:#80829a}.live-form>.primary{justify-self:start}.live-form p{font-size:11px;color:#9a9ab1;line-height:1.8}.live-form input,.live-form select{width:100%}input,select,textarea{border:1px solid #e8e8f2;background:#fafaff;border-radius:12px;padding:13px 15px;color:#686a85;min-width:0;max-width:100%;font-size:12px;min-height:44px}select{cursor:pointer}input[readonly]{background:#f0f0f7;color:#a0a0b5}textarea{resize:vertical;line-height:1.9}#import-text{display:block;width:100%;margin:20px 0;background:white;min-height:220px;padding:23px;border-radius:20px;white-space:pre;font-size:11px}#import-file{background:transparent;border:0;font-size:11px;padding-left:0}#import-preview{max-height:450px;overflow:auto;margin-top:24px}#import-preview p{font-size:12px;background:white;padding:13px 17px;border-radius:12px}#audit-content .live-task{margin-bottom:13px;padding:22px}#audit-content .live-task>b{font-size:12px}#audit-content .live-task small{font-size:10px;color:#a2a4b7}.mobile-task-list{display:none}.mobile-task-owner{display:flex;align-items:center;justify-content:space-between;color:#9595ae;font-size:12px}dialog{border:1px solid #fff;border-radius:29px;padding:32px;width:min(510px,calc(100% - 30px));max-height:90dvh;overflow-y:auto;background:#fff;box-shadow:0 30px 100px #16163c30;color:var(--text)}dialog::backdrop{background:#20203c65;backdrop-filter:blur(7px)}dialog h2{font-size:21px;margin-bottom:6px}dialog .live-form{margin:0;max-width:none;gap:15px}dialog .live-form label{font-size:12px}dialog .actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;margin:10px 0 0}dialog .primary{font-size:12px}dialog .actions>[data-cancel]{background:#f0f0f9;color:#8d8fa6}.welcome{max-width:500px;margin:10vh auto;padding:40px;background:white;border-radius:28px;box-shadow:var(--shadow)}.welcome h1{margin-top:30px;font-size:27px}.welcome p{font-size:13px;color:var(--muted)}#toast{display:none}
@media(min-width:1500px){.shell{border-left:1px solid #ececf4;border-right:1px solid #ececf4}.demo{right:calc((100vw - 1500px)/2 + 45px)}}
@media(max-width:1200px){.shell{grid-template-columns:215px minmax(0,1fr)}.shell aside{padding:32px 20px}.main{padding:38px 28px 60px}.brand{font-size:18px;gap:9px}.brand-mark{width:38px;height:41px}.brand small{font-size:10px}.cycle-card{padding:20px;gap:10px}.cycle-card .ring{width:68px;height:68px;padding:6px}.cycle-card .ring strong{font-size:19px}.cycle-card h2{font-size:14px}.admin-kpis>div{padding:22px 20px}.admin-shortcuts button{padding:20px;grid-template-columns:30px 1fr;gap:8px}.shortcut-icon{width:30px;height:35px;border-radius:10px}.shortcut-icon .ui-icon{width:16px;height:16px}.admin-shortcuts b{font-size:11px}.progress-row{grid-template-columns:135px 1fr 45px;gap:18px}.login-shell{margin:4vh 30px;min-height:690px}.login-story{padding:38px}.login-panel{padding:45px}.story-copy h1{font-size:38px}.art-sheet{left:12%}.art-badge{left:65%}}
@media(max-width:950px) and (min-width:761px){.cycle-card{flex-direction:column;align-items:flex-start}.cycle-card .ring{align-self:flex-end}.cycle-symbol{margin-bottom:10px}.admin-kpis{gap:10px}.admin-kpis>div{padding:20px 16px}.admin-kpis strong{font-size:27px}.admin-shortcuts{grid-template-columns:1fr}.admin-shortcuts button{grid-template-columns:38px 1fr 1fr;gap:15px}.admin-shortcuts button>span:not(.shortcut-icon){grid-column:3;grid-row:1/3}.live-tasks{grid-template-columns:1fr}.login-panel{padding:35px}.story-copy h1{font-size:34px}.art-sheet{width:180px;height:225px;padding:23px 20px;left:5%}.art-badge{left:62%;width:70px;height:70px}.login-panel h2{font-size:29px}}
@media(max-width:760px){body{font-size:14px}.demo{position:static;padding:8px 18px;background:#eeeef9;font-size:9px;text-align:center;color:#9b9bb0}.shell{display:block;min-height:calc(100vh - 30px)}.shell aside{padding:22px 20px 19px;display:grid;grid-template-columns:1fr 1fr;gap:19px;border-right:0;border-bottom:1px solid #eaeaf5;background:#fff}.shell aside .brand{font-size:18px;align-self:center;gap:10px}.shell aside .brand-mark{width:38px;height:41px;border-radius:13px}.shell aside .brand small{font-size:9px;margin-top:4px}.team-picker{gap:6px;font-size:9px;margin-left:12px}.team-picker select{padding:9px 12px;border-radius:11px;min-height:39px;font-size:11px}.nav{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.nav button{padding:10px 12px;font-size:10px;min-height:38px;border-radius:11px;gap:7px;background:#f7f7fc;color:#9193a9}.nav button .ui-icon{width:14px;height:14px}.nav button.active{background:var(--primary);color:white}.side-note{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border:0;margin:0;padding:0;font-size:10px}.side-note .primary{width:auto;min-height:32px;padding:6px 11px;font-size:9px}.main{padding:24px 20px 45px}.top{margin:0 0 27px}.crumb{font-size:9px}.top .primary{font-size:9px;min-height:33px;padding:8px 11px}.top .primary .ui-icon{width:12px;height:12px}.admin-heading{gap:12px;margin-bottom:13px}.admin-heading h1{font-size:26px;letter-spacing:-1px}.admin-heading .eyebrow{font-size:8px;margin-bottom:8px}.admin-heading>.primary{font-size:10px;padding:11px 14px;min-height:40px}.main>.muted{font-size:11px;line-height:1.9;margin-bottom:23px}h2{font-size:16px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.admin-kpis>div{border-radius:20px;padding:22px;min-height:120px}.admin-kpis span{font-size:10px;margin-bottom:14px}.admin-kpis strong{font-size:31px}.admin-kpis small{font-size:11px}.admin-kpis>div:last-child{min-height:127px}.admin-kpis .bar{margin-top:15px}.cycle-overview{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.cycle-card{padding:21px 24px;flex-direction:row;align-items:center;min-height:126px;border-radius:23px}.cycle-card>div:first-child{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:4px 13px}.cycle-symbol{margin:0;grid-row:span 2;width:39px;height:43px;border-radius:13px}.cycle-symbol .ui-icon{width:19px;height:19px}.cycle-card h2{font-size:15px;margin:0}.cycle-card p{font-size:9px;align-self:start}.cycle-card .ring{width:73px;height:73px;padding:6px}.cycle-card .ring strong{font-size:21px}.panel,.live-task{padding:22px;border-radius:23px}.section-gap{margin-top:22px}.panel-header{gap:10px;margin-bottom:15px}.panel-header h2{font-size:15px}.panel-header .text-button{font-size:9px}.progress-row{grid-template-columns:104px 1fr 37px;gap:12px;padding:16px 0}.progress-row>b{font-size:10px;gap:8px}.person-avatar{width:25px;height:29px;border-radius:9px;font-size:10px}.progress-row small{font-size:8px;white-space:nowrap;margin-top:7px}.progress-row .bar{height:6px}.progress-row>strong{font-size:14px}.attention-row{font-size:11px}.attention-row small{font-size:9px}.attention-row .badge{font-size:8px;padding:5px 7px}.admin-shortcuts{grid-template-columns:1fr;gap:11px}.admin-shortcuts button{grid-template-columns:37px 1fr 20px;padding:19px 22px;gap:4px 12px;border-radius:20px}.admin-shortcuts b{font-size:12px}.admin-shortcuts .shortcut-icon{grid-column:1;grid-row:1/3;width:37px;height:41px;border-radius:13px}.admin-shortcuts .shortcut-icon .ui-icon{width:18px;height:18px}.admin-shortcuts button>span:not(.shortcut-icon){grid-column:2;font-size:9px}.admin-shortcuts i{display:block;grid-column:3;grid-row:1/3;color:#b1b1cf}.admin-shortcuts i .ui-icon{width:17px;height:17px}.cycle-tabs{width:100%;margin:0 0 18px}.cycle-tabs button{flex:1;min-height:43px;font-size:12px}.live-filters{margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.live-filters select{width:100%;font-size:10px}.live-filters select:only-child{grid-column:1/-1}.actions{gap:8px}.actions .primary{font-size:10px;padding:12px 14px;min-height:44px}.actions .primary .ui-icon{width:15px;height:15px}.live-tasks{grid-template-columns:1fr;gap:15px;margin-top:21px}.live-task{padding:23px}.task-meta{font-size:9px}.task-title-row{margin:19px 0;gap:12px}.task-title-row h2{font-size:15px}.task-guide summary{font-size:10px}.task-guide p{font-size:11px}.live-task .primary{font-size:10px;min-height:44px}.live-task .actions select{font-size:11px;min-height:44px}.live-task h2{font-size:16px}.live-task p{font-size:11px}.source-notice{padding:21px;font-size:11px;border-radius:20px}.source-notice span{font-size:10px;line-height:2}.source-link{font-size:11px}.live-task>small{font-size:9px}.manage-toolbar{margin-top:23px;gap:8px}.manage-toolbar>input{flex-basis:100%;font-size:11px}.manage-toolbar select{font-size:10px;min-height:42px;padding:10px 12px}.archive-toggle{font-size:10px;margin-left:auto}.admin-table{display:none}.mobile-task-list{display:grid;gap:14px;margin-top:18px}.mobile-task-list .actions button{flex:1;min-height:44px}.mobile-task-owner{font-size:11px}.mobile-task-list .actions .primary:last-child{background:#f0f0fc;color:#9393af}.live-form{max-width:none;gap:15px}.live-form label{font-size:11px}.live-form input,.live-form select,.live-form textarea{font-size:13px}.live-form>.primary{font-size:12px}.member-add>summary{font-size:12px}.caption{font-size:10px}.status-chip{font-size:9px}.notice{font-size:11px}.empty{font-size:12px;padding:35px 15px}.live-task .actions{flex-wrap:wrap}.live-task .task-meta>span{max-width:40%;overflow-wrap:anywhere}dialog{padding:25px;border-radius:25px}dialog h2{font-size:20px}dialog .live-form label{font-size:11px}dialog .live-form input,dialog .live-form select,dialog .live-form textarea{font-size:16px}dialog .live-form p{font-size:11px}dialog .actions button{font-size:12px}.login-shell{display:block;min-height:100dvh;border-radius:0;margin:0;background:#fff;box-shadow:none}.login-story{padding:28px 28px 20px;min-height:320px;border-radius:0 0 35px 35px;overflow:hidden;display:block}.login-story .brand{font-size:18px;gap:10px}.login-story .brand small{font-size:9px}.login-story .brand-mark{width:34px;height:37px;border-radius:12px}.login-story .brand-mark .ui-icon{width:20px;height:20px}.story-copy{margin-top:37px;z-index:2;max-width:68%}.story-copy .eyebrow{font-size:8px;margin-bottom:13px;letter-spacing:1.5px;color:#cdcdff}.story-copy h1{font-size:30px;letter-spacing:-1px;margin-bottom:13px;line-height:1.4}.story-copy p{font-size:10px;color:#dbdbff;margin-bottom:18px}.story-footer{display:none}.login-art{position:absolute;width:170px;height:225px;right:-6px;bottom:0;min-height:0;margin:0;opacity:.95}.art-sheet{left:7px;top:25px;width:126px;height:165px;border-radius:19px;padding:20px 15px;transform:rotate(-12deg)}.art-sheet-top{margin-bottom:16px}.art-pill{width:43px;height:5px}.art-dot{width:5px;height:5px}.art-line{gap:8px;margin-bottom:10px}.art-line span{width:20px;height:20px;border-radius:7px}.art-line .ui-icon{width:13px;height:13px}.art-line i{width:50px;height:4px}.art-line:nth-child(3) i{width:38px}.art-line.undone i{width:43px}.art-sheet-foot{margin-top:17px;gap:6px}.art-sheet-foot b{font-size:5px}.art-sheet-foot i{height:3px}.art-badge{left:85px;top:142px;width:52px;height:52px;border:4px solid #fff;border-radius:17px;transform:rotate(10deg)}.art-badge .ui-icon{width:25px;height:25px}.spark-one{left:0;top:0;font-size:16px}.spark-two{right:10px;top:65px;font-size:14px}.orbit-one{width:200px;height:200px;left:-20px;top:40px}.orbit-two{display:none}.login-panel{padding:35px 30px 25px;display:block;background:white}.login-content{max-width:400px}.login-emblem{display:none}.login-panel .eyebrow{font-size:8px;margin-bottom:13px}.login-panel h2{font-size:24px;line-height:1.45;letter-spacing:-.7px}.login-panel h2 br{display:none}.login-message{font-size:11px;min-height:0;margin:14px 0 24px;line-height:1.9}.google-login{min-height:55px;border-radius:14px;font-size:13px}.login-policy{font-size:9px;line-height:2;gap:9px;padding-top:20px;margin-top:25px}.browser-note{font-size:9px;margin-top:15px}.login-copyright{display:block;font-size:8px;margin-top:31px}.login-loading{min-height:55px;font-size:11px}.welcome{padding:30px;margin:10vh 20px}.welcome h1{font-size:23px}}
@media(max-width:370px){.main{padding-left:16px;padding-right:16px}.shell aside{padding-left:16px;padding-right:16px}.nav{gap:5px}.nav button{padding:10px;font-size:9px}.nav button .ui-icon{width:12px;height:12px}.progress-row{grid-template-columns:90px 1fr 32px;gap:8px}.cycle-card{padding:20px}.login-story{padding-left:24px}.story-copy h1{font-size:27px}.login-art{right:-22px}.login-panel{padding-left:25px;padding-right:25px}.admin-kpis>div{padding:20px}.live-task{padding:20px}.person-avatar{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Keep operational copy legible on staff devices. */
.main>.muted{font-size:13px}.task-meta{font-size:11px}.task-guide summary{font-size:12px}.live-task p{font-size:13px}.live-task>small{font-size:11px}.live-task select{font-size:13px}.live-form label{font-size:13px}.live-form p{font-size:12px}.login-policy{font-size:12px}.browser-note{font-size:11px}.login-message{font-size:14px}.progress-row>b{font-size:13px}.progress-row small{font-size:11px}.cycle-card p{font-size:11px}.admin-kpis span{font-size:12px}.nav button{font-size:13px}
@media(max-width:760px){.nav button{font-size:11px}.team-picker{font-size:10px}.team-picker select{font-size:12px}.main>.muted{font-size:12px}.task-meta{font-size:11px}.task-guide summary{font-size:12px}.live-task p{font-size:13px}.live-task .actions select{font-size:13px}.live-task>small{font-size:11px}.live-task .primary{font-size:12px}.progress-row{grid-template-columns:106px 1fr 37px}.progress-row>b{font-size:11px}.progress-row small{font-size:10px;white-space:normal}.cycle-card p{font-size:11px}.admin-kpis span{font-size:12px}.login-policy{font-size:11px}.browser-note{font-size:11px}.login-message{font-size:13px}.story-copy p{font-size:12px}.login-panel h2{font-size:24px}.live-filters select{font-size:12px}.status-chip{font-size:11px}.live-form label{font-size:13px}.source-notice{font-size:12px}.source-notice span{font-size:12px}.admin-shortcuts b{font-size:13px}.admin-shortcuts button>span:not(.shortcut-icon){font-size:11px}.manage-toolbar>input{font-size:13px}.manage-toolbar select{font-size:12px}.archive-toggle{font-size:12px}}
.nav button{color:#73758e}.nav button.active{color:var(--primary)}.live-task p,.task-guide summary{color:#73758e}.task-meta{color:#7d7f99}.login-policy{color:#7d7f96}.browser-note{color:#86889e}
@media(max-width:760px){.nav button.active{color:white}.employee-workspace aside{gap:16px}.employee-workspace .side-note{grid-column:2;grid-row:1;gap:9px;justify-content:flex-end;font-size:9px}.employee-workspace .nav{grid-row:2}.employee-workspace .admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}.employee-workspace .admin-kpis>div{padding:16px 12px;min-height:103px;border-radius:17px}.employee-workspace .admin-kpis span{font-size:10px;margin-bottom:15px;white-space:nowrap}.employee-workspace .admin-kpis strong{font-size:24px}.employee-workspace .admin-kpis small{font-size:9px;margin-left:3px}.employee-workspace .admin-kpis .bar{margin-top:12px;height:3px}.employee-workspace .admin-kpis>div:last-child{min-height:103px}}
/* Authenticated identity and coherent glass object icons. */
.demo{position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.glass-icon{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0;user-select:none;pointer-events:none}.brand-mark.brand-glass{width:49px;height:49px;background:transparent;border:0;box-shadow:none;border-radius:0}.brand-glass .glass-icon{width:49px;height:49px}.nav button{gap:12px;padding:10px 12px;min-height:60px}.nav .glass-icon{width:39px;height:39px;opacity:1;filter:none}.nav button.active{background:#e8ebff;color:#3f44c8;box-shadow:inset 0 0 0 1px #dce2ff;position:relative}.nav button.active:before{content:'';position:absolute;width:3px;height:22px;left:-10px;top:50%;transform:translateY(-50%);background:#646aff;border-radius:4px}.nav button:hover .glass-icon{transform:translateY(-1px)}.nav .glass-icon{transition:transform .15s}.cycle-symbol{width:57px;height:57px;background:transparent!important;margin-bottom:9px;border-radius:0}.cycle-symbol .glass-icon{width:57px;height:57px}.cycle-card{min-height:157px}.shortcut-icon{width:52px;height:54px;border-radius:0;background:transparent}.shortcut-icon .glass-icon{width:52px;height:54px}.admin-shortcuts button{grid-template-columns:52px 1fr;gap:6px 13px;padding:22px}.task-indicator,.live-task[data-task-state="완료"] .task-indicator,.live-task[data-task-state="보류"] .task-indicator,.live-task[data-task-state="진행중"] .task-indicator{width:48px;height:48px;background:transparent;border-radius:0}.task-indicator .glass-icon{width:48px;height:48px}.account-identity{display:flex;align-items:center;gap:10px;padding:9px 12px 9px 9px;border:1px solid #fff;border-radius:18px;background:linear-gradient(135deg,#ffffffec,#f8faffc7);box-shadow:0 5px 20px #323b6e06;max-width:350px}.account-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:13px;background:linear-gradient(145deg,#edf2ff,#c9d5ff);color:#5262af;font-size:13px;font-weight:700;border:1px solid #fff;box-shadow:inset 1px 1px 2px #fff,0 3px 7px #6782bd12}.account-copy{min-width:0}.account-caption{display:block;font-size:9px;color:#959cb0;line-height:1.2;margin-bottom:4px}.account-copy>div{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.3;white-space:nowrap}.account-team{color:#7b849d;overflow:hidden;text-overflow:ellipsis;max-width:110px}.account-separator{font-size:10px;color:#c3c8d8}.account-copy strong{font-size:13px;color:#39445f;font-weight:700;overflow:hidden;text-overflow:ellipsis;max-width:100px}.account-role{font-size:9px;background:#edf0ff;color:#6574a8;border-radius:7px;padding:4px 7px;margin-left:4px;white-space:nowrap}.top{margin-top:0;min-height:57px;margin-bottom:32px}.top-controls{display:flex;align-items:center;gap:16px}.mobile-account{display:none}.side-note{padding-top:21px}.desktop-account{display:block}.top .primary{flex-shrink:0}.live-shell{min-height:100vh}
@media(max-width:1200px){.main{padding-top:32px}.account-identity{gap:8px;padding-right:10px}.account-avatar{width:33px;height:33px}.account-copy>div{font-size:11px;gap:5px}.account-copy strong{font-size:12px}.account-role{display:none}.top-controls{gap:12px}.brand-mark.brand-glass{width:43px;height:46px}.brand-glass .glass-icon{width:43px;height:46px}.admin-shortcuts button{grid-template-columns:43px 1fr;gap:5px 10px;padding:18px}.shortcut-icon,.shortcut-icon .glass-icon{width:43px;height:46px}}
@media(max-width:760px){.shell aside{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:17px;padding-top:20px}.shell aside .brand{grid-column:1;grid-row:1;font-size:17px;gap:7px}.shell aside .brand-mark.brand-glass{width:40px;height:44px;border-radius:0}.shell aside .brand-glass .glass-icon{width:40px;height:44px}.shell aside .brand small{font-size:9px}.mobile-account{display:block;grid-column:2;grid-row:1;justify-self:end;min-width:0}.account-identity{gap:7px;padding:6px 8px;background:#f8faff;border:1px solid #edf1fa;box-shadow:none;border-radius:14px;max-width:172px}.account-avatar{width:28px;height:30px;font-size:11px;border-radius:10px}.account-caption{font-size:8px;margin-bottom:3px}.account-copy>div{gap:4px;font-size:10px}.account-copy strong{font-size:11px;max-width:61px}.account-team{max-width:65px}.account-role{display:none}.desktop-account{display:none}.team-picker{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:15px;margin:0;font-size:10px;color:#8e96ac}.team-picker select{flex:1;min-height:38px;padding:8px 12px;background:#f3f5ff}.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-row:3;gap:9px 6px}.nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;background:transparent;min-height:76px;padding:8px 2px 9px;font-size:10px;line-height:1.3;border-radius:16px;white-space:nowrap}.nav .glass-icon{width:40px;height:40px}.nav button.active{color:#424ac6;background:#edf0ff;box-shadow:inset 0 0 0 1px #e1e6ff}.nav button.active:before{display:none}.side-note{grid-column:1/-1;grid-row:4;justify-content:flex-end;padding:0;margin:-5px 0 0}.side-note .primary{min-height:30px;padding:5px 10px;font-size:9px}.main{padding-top:20px}.top{min-height:32px;margin:0 0 25px}.crumb{font-size:10px;color:#9ba3b7}.top-controls{gap:0}.cycle-symbol{width:50px;height:52px;grid-row:span 2;margin:0}.cycle-symbol .glass-icon{width:50px;height:52px}.cycle-card>div:first-child{grid-template-columns:50px 1fr;gap:4px 11px}.cycle-card{min-height:129px;padding:22px}.admin-shortcuts button{grid-template-columns:46px 1fr 20px;padding:18px 20px;gap:4px 12px}.admin-shortcuts .shortcut-icon{width:46px;height:48px;grid-column:1;grid-row:1/3;border-radius:0;background:transparent}.admin-shortcuts .shortcut-icon .glass-icon{width:46px;height:48px}.task-indicator,.live-task[data-task-state="완료"] .task-indicator,.live-task[data-task-state="보류"] .task-indicator{width:42px;height:44px;background:transparent}.task-indicator .glass-icon{width:42px;height:44px}.task-title-row{gap:11px}.employee-workspace aside{gap:15px}.employee-workspace .nav{grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;gap:10px}.employee-workspace .nav button{flex:1;flex-direction:row;min-height:52px;padding:6px 10px;gap:7px;font-size:11px}.employee-workspace .nav .glass-icon{width:35px;height:35px}.employee-workspace .side-note{grid-column:1/-1;grid-row:3;justify-content:flex-end;margin-top:-5px;font-size:9px}.employee-workspace .side-note .primary{min-height:27px;padding:4px 9px;font-size:9px}}
@media(max-width:370px){.shell aside{padding-left:14px;padding-right:14px;gap:14px}.shell aside .brand{font-size:15px;gap:5px}.shell aside .brand-mark.brand-glass,.shell aside .brand-glass .glass-icon{width:36px;height:40px}.account-avatar{display:none}.account-identity{padding:8px 9px;max-width:155px}.account-team{max-width:62px}.account-copy strong{font-size:11px;max-width:60px}.nav button{font-size:9px}.nav .glass-icon{width:37px;height:37px}.nav button{min-height:70px}.cycle-card{padding:20px}.cycle-card>div:first-child{gap:3px 8px}.cycle-symbol,.cycle-symbol .glass-icon{width:46px;height:48px}}

/* Authenticated typography: clearer hierarchy without changing login art direction. */
.live-shell{font-size:15px;line-height:1.6;letter-spacing:-.018em;color:#25283d}
.live-shell button,.live-shell input,.live-shell select,.live-shell textarea{font-family:inherit;letter-spacing:inherit}
.live-shell h1,.live-shell h2,.live-shell h3{font-weight:700;letter-spacing:-.035em;word-break:keep-all}
.live-shell .muted,.live-shell .main>.muted{color:#626a80;font-size:14px;line-height:1.7}
.live-shell .nav button{font-size:14px;font-weight:700;color:#626b82}
.live-shell .nav button.active{color:#424ac6}
.live-shell .team-picker{font-size:12px;color:#636c82}
.live-shell .team-picker select{font-size:14px}
.live-shell .admin-kpis span{font-size:13px;font-weight:700;color:#606a80}
.live-shell .admin-kpis small{color:#70798d}
.live-shell .admin-kpis>div:last-child span,.live-shell .admin-kpis>div:last-child small{color:#eef0ff}
.live-shell .live-task h2{font-size:18px;line-height:1.55}
.live-shell .live-task p{font-size:14px;line-height:1.8;color:#60697e}
.live-shell .live-task>small{font-size:12px;color:#737d90}
.live-shell .task-meta{font-size:12px;font-weight:700}
.live-shell .task-guide summary{font-size:13px;color:#616a80}
.live-shell .live-task select,.live-shell .live-task .primary{font-size:14px}
.live-shell .cycle-card h2{font-size:17px}
.live-shell .cycle-card p{font-size:12px;color:#646e83}
.live-shell .progress-row>b{font-size:14px}
.live-shell .progress-row small{font-size:12px;color:#687286}
.live-shell .live-form label{font-size:14px;font-weight:700}
.live-shell .live-form p{font-size:13px;color:#657084}
.live-shell input,.live-shell select,.live-shell textarea{font-size:16px}
@media(max-width:700px){
 .live-shell .nav button{font-size:11px;line-height:1.45}
 .live-shell.employee-workspace .nav button{font-size:13px}
 .live-shell .main>.muted{font-size:13px}
 .live-shell .team-picker{font-size:12px}
 .live-shell .team-picker select{font-size:14px}
 .live-shell .live-task h2{font-size:17px}
 .live-shell .live-task p{font-size:14px}
 .live-shell .live-task .actions select{font-size:16px}
 .live-shell .live-task .primary{font-size:13px}
 .live-shell .cycle-card h2{font-size:16px}
 .live-shell .progress-row>b{font-size:13px}
 .live-shell .progress-row small{font-size:11px}
 .live-shell.employee-workspace .admin-kpis span{font-size:11px}
 .live-shell.employee-workspace .admin-kpis small{font-size:10px}
}
/* Calendar workspace: soft surfaces, date pills and anchored mobile navigation. */
.bottom-nav{display:none}
.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:10px;background:#fff;border:1px solid #eeeff7;border-radius:22px;margin:4px 0 24px;max-width:680px;box-shadow:0 8px 26px #30366b05}
.date-strip button{border:0;background:transparent;border-radius:15px;display:grid;justify-items:center;gap:4px;padding:9px 2px;color:#8a91a5;min-height:70px}
.date-strip button strong{font-size:18px;color:#343b55}.date-strip button span{font-size:11px}.date-strip button i{width:4px;height:4px;border-radius:50%;background:transparent}
.date-strip button.today{background:linear-gradient(140deg,#7779ff,#4d4dff);box-shadow:0 6px 12px #4d4dff24;color:#fff}.date-strip button.today strong{color:#fff}.date-strip button.today i{background:#fff}.date-strip button:disabled{opacity:.35}
.calendar-layout{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(350px,1.1fr);gap:30px;align-items:start;margin-top:24px}
.calendar-panel{padding:28px;position:sticky;top:20px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-top h2{font-size:24px;margin:7px 0 15px}.calendar-top .eyebrow{font-size:10px;letter-spacing:2px;color:#8e95ac}
.calendar-arrows{display:flex;gap:4px;align-items:center}.calendar-arrows button{border:0;border-radius:12px;background:#f7f7fc;color:#68718d;width:36px;height:36px;font-size:24px}.calendar-arrows button.calendar-today{font-size:12px;width:42px}.calendar-arrows button:disabled{opacity:.3}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin:20px 0 10px;text-align:center;color:#949bb0;font-size:12px}.calendar-weekdays span:first-child{color:#ce8d92}
.calendar-day{min-width:0;min-height:63px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:14px;background:#fafafe;color:#4c536b;font-family:inherit}
.calendar-day strong{font-size:15px}.calendar-day.selected{background:linear-gradient(145deg,#7a7bff,#4d4dff);color:#fff;box-shadow:0 6px 14px #4d4dff25}.calendar-day.is-today:not(.selected){border-color:#a4a7ff;background:#f2f2ff}.calendar-day:disabled{background:transparent;color:#c2c6d0}.day-progress{font-size:9px;min-height:14px;color:#9299b0}.selected .day-progress{color:#e3e4ff}.calendar-legend{display:flex;gap:6px;align-items:center;font-size:11px;color:#9199ae;margin:20px 0 0}.calendar-legend i{width:6px;height:6px;border-radius:50%;background:#7779ff}.calendar-legend span{margin-left:auto}
.history-scope,.history-cycle-tabs{display:flex;gap:6px;padding:5px;background:#f0f0f9;border-radius:14px;margin:10px 0 18px}.history-scope button,.history-cycle-tabs button{flex:1;border:0;border-radius:11px;padding:11px 7px;font-family:inherit;font-size:13px;background:transparent;color:#858ba2}.history-scope .chosen,.history-cycle-tabs .chosen{background:#fff;color:#4d4dff;font-weight:700;box-shadow:0 3px 9px #35387008}
.history-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-detail-heading .eyebrow{font-size:10px;letter-spacing:1.7px;color:#939ab0}.history-detail-heading h2{font-size:25px;margin:8px 0 16px}.history-detail-heading small{font-size:12px;color:#929ab0;margin-left:7px;font-weight:400}.readonly-label{font-size:11px;padding:7px 11px;border-radius:12px;background:#ebedf5;color:#798199}
.history-note{font-size:12px;line-height:1.8;color:#80889c;margin:10px 0 18px}.history-detail .admin-kpis{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.history-detail .admin-kpis>div{padding:15px 12px;min-height:95px;border-radius:17px}.history-detail .admin-kpis span{font-size:11px;white-space:nowrap}.history-detail .admin-kpis strong{font-size:25px}.history-detail .admin-kpis small{font-size:10px}.history-detail .admin-kpis>div:last-child{min-height:95px}
.history-cards{display:grid;gap:13px}.history-card{display:flex;gap:15px;border:1px solid #fff;border-radius:22px;background:linear-gradient(130deg,#fff,#fbfbff);padding:22px;box-shadow:0 8px 28px #36396605}.history-card-icon{display:flex;align-items:start}.history-card-icon .glass-icon{width:45px;height:45px}.history-card-body{min-width:0;flex:1}.history-card-body>span:first-child{font-size:11px;color:#8a91a5}.history-card h3{font-size:16px;line-height:1.6;margin:6px 0 12px;overflow-wrap:anywhere}.history-card p{font-size:13px;white-space:pre-wrap;color:#717b90}.history-card .status-chip{display:inline-flex}
.profile-panel{text-align:center;max-width:660px;margin-top:25px}.profile-avatar{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:25px;background:linear-gradient(130deg,#eceeff,#d4d8ff);color:#4d4dff;font-size:25px;font-weight:700}.profile-panel h2{font-size:23px;margin-bottom:6px}.profile-panel p{color:#7b849a;font-size:14px}.profile-links{max-width:660px;margin:20px 0;border-radius:23px;overflow:hidden;background:white}.profile-links button{display:flex;justify-content:space-between;width:100%;padding:20px 23px;border:0;border-bottom:1px solid #f2f3f8;background:white;font:14px Pretendard,sans-serif;color:#4b556f}.profile-links .ui-icon{width:17px;height:17px}.profile-logout{border:0;background:transparent;color:#9299ac;font:13px Pretendard,sans-serif;padding:15px}
@media(max-width:1000px){.calendar-layout{grid-template-columns:1fr;gap:24px}.calendar-panel{position:static;max-width:660px}.history-detail{max-width:660px}}
@media(max-width:760px){
 .live-shell aside{padding:18px 20px 14px;min-height:0;gap:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 .live-shell aside>.nav,.live-shell aside>.side-note{display:none}
 .bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;gap:4px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid #eeeff6;box-shadow:0 -8px 35px #3c446908;backdrop-filter:blur(18px)}
 .bottom-nav button{border:0;background:transparent;color:#969db1;display:flex;flex:1;flex-direction:column;align-items:center;gap:6px;font:10px Pretendard,sans-serif;min-height:47px;border-radius:15px;padding:4px 2px}
 .bottom-nav button>.ui-icon{width:22px;height:22px;stroke-width:1.6}.bottom-nav button.active{color:#4d4dff;font-weight:700}.bottom-nav button.active>.ui-icon{filter:drop-shadow(0 3px 5px #4d4dff20)}
 .bottom-nav button.bottom-add{flex:0 0 54px;color:#4d4dff}.plus-mark{display:grid;place-items:center;width:46px;height:42px;background:linear-gradient(135deg,#8183ff,#4d4dff);border-radius:15px;color:#fff;font-size:29px;box-shadow:0 5px 14px #4d4dff26}
}
@media(max-width:700px){
 .live-shell{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
 .live-shell .team-picker{margin:0;grid-column:1/-1}
 .live-shell .main{padding-top:20px}.live-shell .top{margin-bottom:20px}.live-shell .admin-heading h1{font-size:27px}
 .date-strip{gap:4px;padding:7px;margin:5px 0 20px;border-radius:19px}.date-strip button{min-height:62px;padding:8px 2px;border-radius:13px}.date-strip button strong{font-size:17px}.date-strip button span{font-size:10px}
 .calendar-layout{margin-top:12px}.calendar-panel{padding:23px 19px;border-radius:26px}.calendar-top h2{font-size:24px}.calendar-grid,.calendar-weekdays{gap:4px}.calendar-day{min-height:54px;border-radius:12px}.calendar-day strong{font-size:14px}.calendar-legend{font-size:10px}
 .history-detail-heading h2{font-size:23px}.history-card{padding:20px}.history-detail .admin-kpis>div{padding:14px 10px}.history-detail .admin-kpis span{font-size:10px}.history-detail .admin-kpis strong{font-size:23px}.history-detail .admin-kpis small{font-size:9px;margin-left:2px}
}

/* All object icons retain square proportions and soft, round silhouettes. */
.glass-icon{aspect-ratio:1;object-fit:contain}
.brand-glass .glass-icon,.shell aside .brand-glass .glass-icon{width:44px;height:44px}
.cycle-symbol,.cycle-symbol .glass-icon{width:58px;height:58px}
.shortcut-icon,.shortcut-icon .glass-icon,.admin-shortcuts .shortcut-icon .glass-icon{width:50px;height:50px}
.task-indicator,.task-indicator .glass-icon{width:48px;height:48px}
.bottom-nav .plus-mark{width:44px;height:44px;border-radius:17px}
@media(max-width:700px){.cycle-symbol,.cycle-symbol .glass-icon{width:52px;height:52px}.shortcut-icon,.shortcut-icon .glass-icon,.admin-shortcuts .shortcut-icon .glass-icon{width:46px;height:46px}.task-indicator,.task-indicator .glass-icon{width:44px;height:44px}.shell aside .brand-glass .glass-icon{width:40px;height:40px}}
/* Frosted glass system: translucent white fronts over restrained color and light. */
.live-shell{--shadow:0 14px 38px #5473a30b,0 2px 6px #5473a305;--line:#ffffffb3;--radius:27px;background:radial-gradient(ellipse at 88% 4%,#cfe8ffb0 0,transparent 33%),radial-gradient(ellipse at 4% 37%,#d7f5ee8c 0,transparent 35%),radial-gradient(ellipse at 90% 79%,#ffe6d977 0,transparent 31%),#f2f5fb;color:#293851}
.live-shell aside{background:#ffffff45;border-right:1px solid #ffffffbb;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.live-shell .panel,.live-shell .live-task,.live-shell .admin-kpis>div,.live-shell .history-card,.live-shell .date-strip,.live-shell .profile-panel,.live-shell .profile-links{background:linear-gradient(135deg,#ffffffc7,#ffffff69);border:1px solid #ffffffd6;box-shadow:inset 0 1px 0 #fff,0 12px 35px #5b7da20b;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.live-shell .admin-kpis>div{isolation:isolate;overflow:hidden;position:relative;border-radius:25px;box-shadow:inset 0 1px 1px #fff,0 10px 24px #6c8ab10d}
.live-shell .admin-kpis>div:after{content:'';position:absolute;z-index:-1;width:92px;height:92px;right:-28px;bottom:-28px;border-radius:50%;background:radial-gradient(circle,#84baff66,transparent 70%);filter:blur(9px)}
.live-shell .admin-kpis>div:nth-child(2):after{background:radial-gradient(circle,#67e2c280,transparent 70%)}
.live-shell .admin-kpis>div:nth-child(3):after{background:radial-gradient(circle,#ffbd886b,transparent 70%)}
.live-shell .admin-kpis>div:last-child{background:linear-gradient(135deg,#b5c8ff69,#ffffff73 45%,#a9cfff4d);border-color:#fff;color:#4b56d5;box-shadow:inset 0 1px 0 #fff,0 12px 26px #627bdd13}
.live-shell .admin-kpis>div:last-child:before{width:130px;height:130px;right:-57px;top:-60px;border:22px solid #ffffff40;background:transparent}
.live-shell .admin-kpis span,.live-shell .admin-kpis>div:last-child span{color:#687992}
.live-shell .admin-kpis small,.live-shell .admin-kpis>div:last-child small{color:#7e8ca3}
.live-shell .admin-kpis>div:nth-child(2) strong{color:#259d94}
.live-shell .admin-kpis>div:nth-child(3) strong{color:#c28558}
.live-shell .admin-kpis .bar{background:#ffffff8c;border:1px solid #ffffffb8;height:6px;box-shadow:inset 0 1px 2px #7991b41c;overflow:visible}
.live-shell .admin-kpis .bar>div{background:linear-gradient(90deg,#8cd4ff,#7896ff,#6262ff);box-shadow:0 2px 5px #767fee30,inset 0 1px 0 #ffffff6b}
.live-shell .bar{background:#e3ebf577;border:1px solid #ffffffb3;height:9px;box-shadow:inset 0 1px 3px #5f7ea212;overflow:visible}
.live-shell .bar>div{background:linear-gradient(90deg,#98ddff,#7ca9ff 50%,#6968ff);box-shadow:inset 0 1px 1px #ffffff8c,0 3px 7px #6c8cdf20;position:relative}
.live-shell .bar>div:after{content:'';position:absolute;top:1px;left:3px;right:3px;height:2px;border-radius:5px;background:#ffffff5c}
.live-shell .cycle-card{background:linear-gradient(130deg,#ffffffc2,#e9f3ff62);border:1px solid #ffffffdd;padding:25px;min-height:162px;border-radius:28px}
.live-shell .cycle-card[data-cycle-kind="주간"]{background:linear-gradient(130deg,#ffffffc7,#fff0df72)}
.live-shell .cycle-card[data-cycle-kind="월간"]{background:linear-gradient(130deg,#ffffffc7,#dcf7ef70)}
.cycle-card .cycle-symbol{background:transparent!important;border:0;box-shadow:none}
.glass-ring{width:104px;height:104px;position:relative;flex-shrink:0;align-self:center}
.glass-ring>svg{display:block;width:100%;height:100%;overflow:visible}
.glass-ring>div{position:absolute;inset:28%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.glass-ring strong{font-size:24px;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums;color:#3c4b65}
.glass-ring strong small{font-size:12px;letter-spacing:0;margin-left:1px}
.glass-ring span{font-size:9px;color:#7d8ba1;margin-top:7px;white-space:nowrap}
.live-shell .cycle-card p{color:#72839b}
.live-shell .live-task{position:relative;isolation:isolate;overflow:hidden;border-radius:27px;background:linear-gradient(135deg,#ffffffcd,#ffffff7d)}
.live-shell .live-task:after{content:'';position:absolute;z-index:-1;right:-25px;top:-30px;width:115px;height:115px;background:radial-gradient(circle,#a2d7ff4d,transparent 68%);border-radius:50%;pointer-events:none}
.live-shell .live-task[data-task-state="완료"]:after{background:radial-gradient(circle,#93edce52,transparent 68%)}
.live-shell .live-task[data-task-state="보류"]:after{background:radial-gradient(circle,#ffd29c66,transparent 68%)}
.live-shell .live-task .actions{border-color:#ffffffb3}
.live-shell .task-guide summary,.live-shell .live-task p{color:#63758e}
.live-shell .status-chip{border:1px solid #ffffffbf;box-shadow:inset 0 1px 0 #ffffff9c;background:#edf3ff91;color:#62779b;border-radius:11px}
.live-shell .status-chip[data-state="완료"]{background:#c9f2e780;color:#238d7f}
.live-shell .status-chip[data-state="보류"]{background:#ffe6c485;color:#ac7541}
.live-shell .status-chip[data-state="진행중"]{background:#dce8ff91;color:#4c6db7}
.live-shell .primary{background:linear-gradient(140deg,#96aaff,#6e83ff 40%,#4d4dff);border:1px solid #ffffff6b;box-shadow:inset 0 1px 0 #ffffff8c,0 6px 13px #687ae527;border-radius:15px}
.live-shell .top .primary,.live-shell .side-note .primary{background:linear-gradient(135deg,#ffffffb8,#ffffff73);border-color:#ffffffd6;color:#7b8ba4;box-shadow:inset 0 1px 0 #fff}
.live-shell .live-task .actions select{background:linear-gradient(135deg,#ffffffbd,#e0eaff91);border:1px solid #ffffffc9;color:#5669b9;box-shadow:inset 0 1px 0 #fff;border-radius:14px}
.live-shell .nav button.active{background:linear-gradient(130deg,#ffffffb3,#dce9ff88);box-shadow:inset 0 1px 0 #fff,0 7px 15px #7493c20b;color:#526cd1}
.live-shell .nav button.active:before{background:linear-gradient(#9ccfff,#6a79ff)}
.live-shell .team-picker select,.live-shell .live-filters select,.live-shell .manage-toolbar input,.live-shell .manage-toolbar select{background:#ffffff8c;border:1px solid #ffffffbd;box-shadow:inset 0 1px 0 #fff;color:#637391}
.live-shell .cycle-tabs,.live-shell .history-cycle-tabs,.live-shell .history-scope{background:#e6edf66b;border:1px solid #ffffff80;box-shadow:inset 0 1px 3px #7b94b50b}
.live-shell .cycle-tabs .chosen,.live-shell .history-cycle-tabs .chosen,.live-shell .history-scope .chosen{background:linear-gradient(130deg,#ffffffd9,#ffffff99);color:#5668cf;box-shadow:inset 0 1px 0 white,0 3px 9px #7993bd0c;border:1px solid #ffffffa6}
.live-shell .account-identity{background:linear-gradient(135deg,#ffffffbb,#ffffff5c);border:1px solid #ffffffc4;box-shadow:inset 0 1px 0 #fff,0 7px 20px #7188b009;backdrop-filter:blur(12px)}
.live-shell .account-avatar,.live-shell .person-avatar,.live-shell .profile-avatar{background:linear-gradient(135deg,#ffffffd6,#adccff77);border:1px solid #ffffffc2;color:#6579d7;box-shadow:inset 0 1px 0 #fff}
.live-shell .calendar-panel{background:linear-gradient(140deg,#ffffffc7,#edf5ff73);border-radius:30px}
.live-shell .calendar-day{background:linear-gradient(135deg,#ffffff9c,#ffffff52);border:1px solid #ffffff73;color:#6b7b94;border-radius:14px}
.live-shell .calendar-day.selected,.live-shell .date-strip button.today{background:linear-gradient(140deg,#9fcaffbd,#829bffcf 50%,#6462ffcc);border:1px solid #ffffffc7;box-shadow:inset 0 1px 0 #ffffffa6,0 7px 15px #7589dd25;color:white}
.live-shell .calendar-day.is-today:not(.selected){border-color:#afc6ff;background:#e4edff80}
.live-shell .calendar-day:disabled{background:#ffffff1f;border-color:transparent;color:#bbc6d8}
.live-shell .date-strip button{border:1px solid transparent}
.live-shell .calendar-arrows button{background:#ffffff8c;border:1px solid #ffffffc4;color:#7a8ca8}
.live-shell .calendar-arrows .calendar-today{color:#6b7dd6}
.live-shell .profile-links button{background:#ffffff21;border-bottom:1px solid #ffffff80;color:#5b6e88}
.live-shell .admin-shortcuts button{background:linear-gradient(135deg,#ffffffbd,#ffffff66);border:1px solid #ffffffc7;border-radius:25px;box-shadow:inset 0 1px 0 #fff,0 12px 22px #7b96bc0a}
.live-shell .history-card{border-radius:25px}
.live-shell .admin-table{background:#ffffff8c}.live-shell table th{background:#ffffff73;color:#71829a}.live-shell table td{border-color:#ffffff8c}
.live-shell :is(button,select,input,textarea):focus-visible{outline:3px solid #6b89ee88;outline-offset:3px}
@media(max-width:1100px) and (min-width:701px){.live-shell .cycle-card{padding:20px;gap:7px;flex-direction:column;align-items:flex-start}.glass-ring{align-self:flex-end;width:96px;height:96px}}
@media(max-width:700px){
 .live-shell{background:radial-gradient(ellipse at 95% 0,#cfe6ff91,transparent 38%),radial-gradient(ellipse at 0 48%,#d8f2ea85,transparent 43%),#f3f6fb}
 .live-shell aside{background:#ffffff59;border-bottom:1px solid #ffffffb3}
 .live-shell .main{padding-top:20px}
 .live-shell .admin-kpis>div{border-radius:23px}
 .live-shell.employee-workspace .admin-kpis>div,.live-shell .history-detail .admin-kpis>div{border-radius:18px}
 .live-shell .cycle-card{padding:22px;min-height:145px;flex-direction:row;align-items:center;gap:12px}
 .glass-ring{width:98px;height:98px;align-self:center}
 .glass-ring strong{font-size:24px}
 .live-shell .cycle-card>div:first-child{grid-template-columns:52px 1fr;gap:5px 12px}
 .live-shell .cycle-card h2{font-size:16px}
 .live-shell .cycle-card p{font-size:11px}
 .live-shell .date-strip{border-radius:22px}
}
@media(max-width:760px){
 .live-shell .bottom-nav{background:linear-gradient(120deg,#ffffffb8,#f0f6ff91);border-top:1px solid #ffffffe0;box-shadow:0 -6px 30px #7189af0b;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding-top:8px}
 .live-shell .bottom-nav .glass-icon{flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;aspect-ratio:1;filter:none}
 .live-shell .bottom-nav button{gap:2px;color:#8799b2;font-size:10px;padding:2px}
 .live-shell .bottom-nav button.active{color:#5b70d8}
 .live-shell .bottom-nav button.active:after{content:'';width:4px;height:4px;border-radius:50%;background:#849dff;position:absolute;bottom:5px}
 .live-shell .bottom-nav .plus-mark{background:linear-gradient(135deg,#b5ccffba,#7b99ffd9 45%,#6262ffe0);box-shadow:inset 0 1px 0 #ffffffbd,0 5px 13px #6b84df25;border:1px solid #ffffffa8;width:43px;height:43px;border-radius:16px}
}
@media(max-width:370px){.live-shell .cycle-card{padding:18px;gap:7px}.glass-ring{width:87px;height:87px}.live-shell .cycle-card>div:first-child{grid-template-columns:43px 1fr;gap:4px 8px}.live-shell .cycle-card .cycle-symbol,.live-shell .cycle-card .glass-icon{width:43px;height:43px}.live-shell .cycle-card h2{font-size:15px}.live-shell .cycle-card p{font-size:10px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.live-shell .panel,.live-shell .live-task,.live-shell .admin-kpis>div{background:#f9fcff}.live-shell .bottom-nav{background:#f7faff}}
/* Keep functional labels legible on the luminous glass surfaces. */
.live-shell .primary{background:linear-gradient(140deg,#90b7ff,#575de9 40%,#4d4dff)}
.live-shell .top .primary,.live-shell .side-note .primary{background:linear-gradient(135deg,#ffffffb8,#ffffff73)}
.live-shell .calendar-day.selected,.live-shell .date-strip button.today,.live-shell .date-strip button.today strong{color:#354780}
.live-shell .calendar-day.selected .day-progress{color:#435a96}
.live-shell .calendar-day.selected strong{color:#354780}
/* semi55plant: a frosted, luminous welcome matching the signed-in workspace. */
body:has(.login-shell){background:radial-gradient(ellipse at 8% 15%,#d8f2ff80,transparent 45%),radial-gradient(ellipse at 85% 80%,#e2e3ff8c,transparent 45%),#f3f6fb}
.brand-copy{min-width:0}.clinic-brand{display:block;white-space:nowrap;letter-spacing:-.055em}
.brand small{letter-spacing:.15px;text-transform:none}
.login-shell{background:linear-gradient(130deg,#ffffffa6,#ffffff73);border:1px solid #ffffffdd;box-shadow:inset 0 1px 0 #fff,0 28px 90px #5872a90e;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.login-story{background:radial-gradient(ellipse at 25% 85%,#c2f6ed73,transparent 50%),radial-gradient(ellipse at 100% 20%,#ccd8ff99,transparent 60%),linear-gradient(150deg,#d3eeffc9,#c5d6ffa1 60%,#b9c7ffb0);color:#304264;border-right:1px solid #ffffffb3}
.login-story:before{border-color:#ffffff6b;box-shadow:0 0 100px #ffffff38,inset 0 0 90px #ffffff24}
.login-story .brand{color:#34476d;font-size:22px;gap:10px;align-items:center}
.login-story .brand small{color:#6e82a6;font-size:10px;margin-top:4px}
.login-story .brand-mark{border:1px solid #ffffffb3;background:linear-gradient(135deg,#ffffff91,#ffffff2b);border-radius:17px;box-shadow:inset 0 1px 0 #fff,0 8px 20px #779ac00d;width:49px;height:49px}
.login-story .brand-glass .glass-icon{width:43px;height:43px}
.story-copy .eyebrow{color:#6c83b1;letter-spacing:1.2px;text-transform:none}
.story-copy h1{color:#31446a;text-shadow:0 1px 0 #ffffff70;font-weight:700}
.story-copy p{color:#667c9e;font-size:14px}
.story-footer{color:#7488aa;letter-spacing:.2px}
.art-back-sheet{position:absolute;left:31%;top:-2px;width:205px;height:246px;border-radius:32px;background:linear-gradient(145deg,#6edaff,#6ca8ff 50%,#6c72f4);transform:rotate(8deg);box-shadow:inset 0 1px 1px #c3f3ff,0 18px 34px #5683cf26}
.art-sheet{background:linear-gradient(135deg,#ffffffb3,#ffffff61 50%,#e7f4ff59);border:1px solid #ffffffe0;border-radius:29px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 #fff,0 20px 35px #6986bb20;color:white;transform:rotate(-8deg)}
.art-pill{background:#9bb7d280;box-shadow:inset 0 1px 0 #ffffff6b}
.art-dot{background:linear-gradient(135deg,#ffe8b7,#ffb680);border:1px solid #fff6}
.art-line span{background:linear-gradient(140deg,#b3deff,#8aaff8,#7478eb);box-shadow:inset 0 1px 0 #ffffffa6,0 3px 7px #7093d217;border:1px solid #ffffff8c}
.art-line:nth-child(3) span{background:linear-gradient(135deg,#c7ffe5,#78dfce,#54c2ce)}
.art-line i{background:#a9bed269;box-shadow:inset 0 1px 0 #ffffff52}
.art-line.undone span{background:#ffffff26;border-color:#ffffffc2}
.art-sheet-foot i{background:linear-gradient(90deg,#8ec7f6,#7d91ed 65%,#b9cde16b 65%);border:1px solid #ffffff7d}
.art-sheet-foot b{color:#829aba}
.art-badge{background:linear-gradient(135deg,#ffffffad,#ffebcf75);border:1px solid #ffffffdb;box-shadow:inset 0 1px 0 #fff,0 12px 27px #8d9bbb17;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#e8a267;transform:rotate(8deg);border-radius:25px}
.art-orbit{border-color:#ffffff59}.art-spark{color:#ffffffb3;text-shadow:0 0 15px #ffffff80}
.login-panel{background:linear-gradient(120deg,#ffffffb8,#ffffff70);border-left:1px solid #ffffffa6}
.login-emblem{background:linear-gradient(135deg,#ffffffa6,#ffffff45);border:1px solid #ffffffd6;box-shadow:inset 0 1px 0 white,0 12px 24px #7e9ab510;backdrop-filter:blur(12px)}
.login-emblem .glass-icon{width:57px;height:57px}
.login-panel h2{color:#30415f}
.login-panel .eyebrow{color:#8999b3;letter-spacing:1.8px}
.login-message{color:#7b8da8}
.google-login{background:linear-gradient(130deg,#ffffffcf,#ffffff7d);border:1px solid #ffffffeb;box-shadow:inset 0 1px 0 #fff,0 9px 25px #718cba0b;color:#3f4e6c;border-radius:20px;backdrop-filter:blur(12px)}
.google-login:hover{background:#ffffffdc;box-shadow:inset 0 1px 0 #fff,0 10px 25px #718cba16}
.login-policy{border-color:#d9e4ef8c;color:#7a8da7}.login-policy .ui-icon{color:#8a9fc0}
.browser-note,.login-copyright{color:#8c9cb4}.login-copyright{text-transform:none;letter-spacing:1px;font-size:10px}
.login-loading{background:#ffffff73;border:1px solid #ffffffc4}
.live-shell .brand{font-size:17px;min-width:0;gap:8px;align-items:center}
.live-shell .brand small{font-size:9px;color:#8595ac;margin-top:4px}
.live-shell aside .brand-copy{min-width:0}
@media(max-width:1000px) and (min-width:701px){.login-story .brand{font-size:19px}.login-story .brand-mark{width:43px;height:43px}.art-back-sheet{left:23%;width:185px;height:230px}}
@media(max-width:700px){
 .login-shell{border:0;background:radial-gradient(ellipse at 100% 65%,#e2eeff94,transparent 65%),#f4f7fb;backdrop-filter:none}
 .login-story{background:radial-gradient(ellipse at 0 100%,#c9f3e880,transparent 55%),linear-gradient(135deg,#d5edff,#cddaffb8 65%,#c5d4ffbf);border:1px solid #ffffffd9;border-top:0;border-radius:0 0 35px 35px;box-shadow:inset 0 -1px 0 #fff,0 12px 30px #7393c508;min-height:332px;padding:27px 27px 22px}
 .login-story .brand{font-size:18px;gap:9px}.login-story .brand small{font-size:9px}.login-story .brand-mark{width:37px;height:39px;border-radius:13px}.login-story .brand-glass .glass-icon{width:34px;height:34px}
 .story-copy{margin-top:37px;max-width:69%}.story-copy .eyebrow{font-size:8px;letter-spacing:.65px;color:#758ab3}.story-copy h1{font-size:29px;color:#35476c;line-height:1.4}.story-copy p{font-size:12px;line-height:1.85;color:#6b81a0}
 .art-back-sheet{width:122px;height:161px;left:26px;top:14px;border-radius:22px;transform:rotate(7deg)}
 .art-sheet{border-radius:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 .art-badge{border-radius:18px;border-width:1px;background:linear-gradient(135deg,#ffffffc7,#ffe6c785)}
 .login-panel{background:linear-gradient(130deg,#ffffff70,#ffffff26);border-left:0;padding:36px 30px 27px}
 .login-panel h2{font-size:24px}.login-panel .eyebrow{color:#93a2b9}.login-policy{font-size:11px}.login-copyright{font-size:9px;margin-top:31px}.login-message{font-size:13px}.google-login{border-radius:18px}
 .live-shell aside .brand{font-size:13px;gap:5px}.live-shell aside .brand small{font-size:8px;letter-spacing:0;margin-top:3px}.live-shell aside .brand-glass .glass-icon,.live-shell aside .brand-mark.brand-glass{width:30px;height:33px}
 .live-shell .account-identity{max-width:148px}.live-shell aside{column-gap:8px}
}
@media(max-width:370px){
 .login-story{padding-left:23px;padding-right:23px}.login-story .brand{font-size:17px}.story-copy h1{font-size:26px}.story-copy p{font-size:11px}.login-art{right:-28px}.login-panel{padding-left:25px;padding-right:25px}
 .live-shell aside .brand-mark.brand-glass{display:none}.live-shell aside .brand{font-size:12px}.live-shell .account-identity{max-width:136px}.live-shell aside{padding-left:15px;padding-right:15px;column-gap:5px}
}
.remember-login{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;cursor:pointer;color:#526786;font-size:13px;line-height:1.5}
.remember-login input{width:18px;height:18px;margin:2px 0 0;accent-color:#6677ef;flex-shrink:0;cursor:pointer}
.remember-login span{font-weight:700}.remember-login small{display:block;font-size:11px;color:#8798b0;font-weight:400;margin-top:4px}
.remember-login input:focus-visible{outline:3px solid #7595ff70;outline-offset:3px}
@media(max-width:700px){.remember-login{font-size:13px;margin-top:-2px;margin-bottom:22px}.remember-login small{font-size:11px}.remember-login input{width:19px;height:19px}}

/* Uppercase English branding on the sign-in screen. */
.login-story .brand small,.login-story .story-copy .eyebrow,.login-copyright{text-transform:uppercase}
.automation-intro{margin-bottom:20px}.automation-intro h2{font-size:25px;letter-spacing:-.8px}.automation-intro p,.automation-grid p,.automation-setup p{line-height:1.7;color:#65748c}.automation-flow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.automation-flow span{padding:13px 18px;background:#eef2ffbb;border:1px solid #fff;border-radius:18px;color:#35496a;font-weight:700}.automation-flow b{color:#7d92b9}.automation-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.automation-grid h2{font-size:20px}.automation-dates{margin:24px 0}.automation-dates>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #dfe6f1}.automation-dates dt{color:#68768a}.automation-dates dd{margin:0;text-align:right;font-weight:700;color:#2e405e}.automation-setup summary{font-size:18px;font-weight:700;cursor:pointer}.automation-setup ol{padding-left:24px;line-height:1.8;color:#52617a}.automation-setup li{margin-bottom:10px}.automation-secret{display:block;margin-top:20px;line-height:1.8;color:#35496a}.automation-secret input{display:block;width:100%;margin:8px 0;font-family:monospace}.automation-secret button{padding:10px 16px;border-radius:12px;border:0;background:#e9efff;color:#344ae0}@media(max-width:720px){.automation-grid{grid-template-columns:1fr}.automation-flow{display:grid;gap:6px}.automation-flow b{transform:rotate(90deg);text-align:center}.automation-intro h2{font-size:22px}.automation-setup .actions{flex-wrap:wrap}.automation-dates dd{font-size:13px}}
.installer-dialog{max-width:760px;width:min(760px,calc(100vw - 72px));padding:4px}.installer-dialog h2{margin-top:0;font-size:23px}.installer-dialog p{line-height:1.65}.installer-dialog textarea{display:block;width:100%;height:42vh;min-height:180px;resize:vertical;box-sizing:border-box;font:12px/1.5 ui-monospace,monospace;padding:14px;white-space:pre;border-radius:14px;border:1px solid #ccd6e8;background:#f5f8ff;color:#243550}.installer-dialog textarea[hidden]{display:none}.installer-dialog .actions{flex-wrap:wrap}.installer-dialog button{padding:11px 16px;border:0;border-radius:12px;cursor:pointer}.installer-dialog button:disabled{opacity:.45;cursor:wait}@media(max-width:600px){.installer-dialog{width:calc(100vw - 64px)}.installer-dialog h2{font-size:20px}}
dialog.installer-modal{width:min(840px,calc(100vw - 32px));max-width:840px;box-sizing:border-box;overflow-x:hidden;padding:28px}.installer-modal .installer-dialog{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.installer-modal .installer-dialog p{white-space:normal;overflow-wrap:anywhere}.installer-modal .installer-dialog .actions{justify-content:flex-start;gap:10px}@media(max-width:600px){dialog.installer-modal{padding:18px}.installer-modal .installer-dialog{width:100%}}
.installer-dialog #installer-copy,.installer-dialog .actions>.primary{background:#4d4dff;color:#fff;font-weight:700}.installer-dialog #installer-copy:disabled{background:#dce2f4;color:#6b7791}
/* Connected source preview stays compact on desktop and mobile. */
.source-panel .table-scroll{max-height:360px;overflow:auto;margin:16px 0;border:1px solid rgba(100,105,160,.14);border-radius:16px}.source-panel table{width:100%;min-width:520px;border-collapse:collapse}.source-panel th{position:sticky;top:0;background:#f1f3ff;z-index:1;text-align:left}.source-panel th,.source-panel td{padding:12px 16px;border-bottom:1px solid rgba(100,105,160,.12);font-size:14px}.source-panel details>summary{cursor:pointer;font-weight:700;margin-top:18px}.source-panel h2{margin:8px 0 12px}.source-panel .actions{flex-wrap:wrap}.source-panel>p{line-height:1.65}

/* Memo left; fixed-size checkbox and status together on the right. */
.live-task .task-title-row h2{flex:1;min-width:0}
.live-task .actions button.task-complete-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;margin:0;width:44px;min-width:44px;max-width:44px;height:44px;padding:6px;border:0;border-radius:12px;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation}
.live-task .task-check-box{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;aspect-ratio:1;border:2px solid #c6ccdc;border-radius:8px;background:#fff;font-size:20px;font-weight:700;line-height:1;transition:background .15s,border-color .15s}
.live-task .task-complete-toggle:hover .task-check-box{border-color:#6965e5}
.live-task .task-complete-toggle[aria-checked="true"] .task-check-box{background:#6965e5;border-color:#6965e5;color:#fff}
.task-complete-toggle:focus-visible{outline:3px solid #7770ef;outline-offset:2px}.task-complete-toggle:disabled{opacity:.55;cursor:wait}

.live-task .task-status-controls{display:flex;align-items:center;gap:6px;margin-left:auto;order:2;flex-shrink:0}.live-task .task-status-controls select{margin:0;flex-shrink:0}

/* Personal check rewards: a quiet little garden inside the existing workspace. */
.reward-work-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:15px 19px;margin:0 0 20px;border:1px solid #dfdefb;border-radius:17px;background:linear-gradient(110deg,#f0efff,#edf9f3);color:#61718e;font-size:12px}.reward-work-link>span{font-size:21px;color:#8b83dd}.reward-work-link b{margin-left:auto;color:#6864c9;white-space:nowrap}
.rewards-layout{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(260px,1fr);gap:22px;margin:24px 0}.reward-garden{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:28px;background:radial-gradient(ellipse at 50% 42%,#e2f4edcc,transparent 63%),linear-gradient(150deg,#fff9,#e8edff80)!important}.reward-garden-heading{display:flex;align-items:center;justify-content:space-between;width:100%}.reward-tag{font-size:10px;letter-spacing:1.8px;color:#8795ac;font-weight:700}.reward-level{padding:7px 13px;border-radius:20px;background:#ffffffc9;border:1px solid white;color:#7772cb;font-size:12px;font-weight:700}.reward-scene{position:relative;width:260px;height:260px;margin:4px 0 0}.reward-tree{position:relative;width:100%;height:100%;filter:drop-shadow(0 12px 14px #83a6a217);transform-origin:50% 86%}.reward-orbit{position:absolute;inset:25px 15px 22px;border-radius:50%;border:1px solid #fff9;background:radial-gradient(circle,#ffffff7a,#ffffff10)}.reward-spark{position:absolute;color:#dfbb77;font-size:20px}.reward-spark.spark-a{left:24px;top:73px}.reward-spark.spark-b{right:27px;top:34px}.reward-garden h2{font-size:24px;color:#485a72;margin:0 0 8px}.reward-garden>p{font-size:12px;color:#8191a4;margin-bottom:15px}.reward-play{border:1px solid #dddff4;border-radius:30px;background:#ffffff85;color:#8b83b9;padding:10px 19px;font-size:12px}.reward-play:hover{background:#fff}.reward-xp{width:100%;max-width:330px;margin-top:26px}.reward-xp>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#8c98af;margin-bottom:10px}.reward-xp strong{color:#7772cf}.reward-track{height:9px;border-radius:12px;background:#e8eaf4;overflow:hidden}.reward-track i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,#a0d8ca,#9b9ae9);transition:width .3s}.reward-xp small{display:block;text-align:center;font-size:10px;color:#939fb2;margin-top:11px}.reward-side{display:grid;gap:18px}.reward-wallet{padding:26px 28px}.reward-point-total{font-size:46px;line-height:1.4;font-weight:700;letter-spacing:-1.5px;color:#6863c8;margin:8px 0 15px}.reward-point-total>span{font-size:22px;margin-left:8px;color:#a5a1d6}.reward-wallet-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e7eaf3;padding-top:15px;font-size:11px;color:#8e9bb0}.reward-wallet-foot b{color:#63798c;margin-left:5px}.reward-mission,.reward-rules{padding:24px 27px}.reward-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.reward-section-heading h2,.reward-rules h2,.reward-history h2{font-size:16px;margin:0}.reward-section-heading>span{font-size:11px;color:#8c98af}.reward-mission p,.reward-rules p{font-size:12px;color:#7d8da4;line-height:1.9}.reward-mission .text-button{font-size:11px;padding-bottom:0}.reward-rules b{color:#6461ad}.reward-rules small{font-size:10px;color:#9aa4b4;line-height:1.8;display:block}.reward-badges,.reward-history{padding:26px 28px;margin-bottom:22px}.reward-badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.reward-badge{text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px;padding:18px 10px;border-radius:18px;background:#e9edf35c;color:#a5adbd;border:1px dashed #dbe0eb}.reward-badge>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e5e9f0;color:#b1b8c6;font-size:24px}.reward-badge strong{font-size:12px}.reward-badge small{font-size:10px}.reward-badge.unlocked{background:linear-gradient(135deg,#f5f0ff,#edf8f1);border:1px solid #dedcf4;color:#7771af}.reward-badge.unlocked>span{color:#aa82ce;background:linear-gradient(145deg,#e9dcfa,#d4ece3);box-shadow:inset 0 1px 0 white}.reward-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #e9edf3}.reward-history-row:last-child{border-bottom:0;padding-bottom:0}.reward-history-row strong{display:block;font-size:12px;font-weight:400;color:#63738b;overflow-wrap:anywhere}.reward-history-row small{display:block;font-size:10px;color:#9ba6b6;margin-top:5px}.reward-history-row>span{font-size:12px;white-space:nowrap}.reward-history-row .earned{color:#6e69c8;font-weight:700}.reward-history-row .revoked{font-size:10px;color:#a0a9b8}.reward-history>p{margin:22px 0 0}.reward-happy .reward-tree{animation:reward-wiggle .7s ease-in-out}.reward-happy .reward-spark{animation:reward-twinkle .7s ease-in-out}@keyframes reward-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}60%{transform:rotate(7deg)}}@keyframes reward-twinkle{50%{transform:scale(1.7);opacity:.5}}
@media(max-width:1000px){.rewards-layout{grid-template-columns:minmax(240px,1fr) minmax(230px,1fr);gap:16px}.reward-garden{padding:23px}.reward-wallet,.reward-mission,.reward-rules{padding:22px}.reward-wallet-foot{flex-wrap:wrap}}
@media(max-width:700px){.rewards-layout{grid-template-columns:1fr;gap:16px;margin-top:18px}.reward-garden{padding:23px;min-height:465px}.reward-scene{width:235px;height:235px}.reward-side{gap:14px}.reward-point-total{font-size:40px}.reward-wallet-foot{flex-wrap:nowrap}.reward-badge-grid{grid-template-columns:repeat(2,1fr);gap:10px}.reward-badges,.reward-history{padding:23px 20px}.reward-work-link{font-size:11px;padding:12px;gap:7px;flex-wrap:wrap}.reward-work-link b{font-size:11px}.bottom-nav button.bottom-add{flex-basis:44px}.reward-section-heading>span{font-size:10px}.reward-history-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.reward-happy .reward-tree,.reward-happy .reward-spark{animation:none}.reward-track i{transition:none}}

/* Global roles can choose the team directly in the work overview. */
.work-team-picker{display:flex;align-items:center;gap:16px;padding:15px 19px;margin:0 0 20px;border:1px solid #ffffffd9;border-radius:17px;background:linear-gradient(110deg,#ffffffb5,#edf1ff9c);box-shadow:inset 0 1px 0 #fff}.work-team-picker>span{font-size:12px;font-weight:700;color:#637391;white-space:nowrap}.work-team-picker select{flex:1;max-width:320px;min-height:43px;background:#ffffffa8;border-color:#e0e5f2;color:#526480;font-size:12px}@media(max-width:700px){.work-team-picker{padding:12px 14px;gap:13px}.work-team-picker select{max-width:none;min-width:0;font-size:12px}}

/* Personal completion never inserts review actions or wraps the check/status row. */
.live-task .actions.own-task-actions{flex-wrap:nowrap;gap:8px}.live-task .own-task-actions>.primary[data-do="memo"]{flex:0 0 auto;padding:10px 12px}.live-task .own-task-actions .task-status-controls{min-width:0;flex-shrink:1;gap:4px}.live-task .own-task-actions .task-status-controls select{min-width:90px;width:105px;flex:0 1 105px}

/* Shared spacious cycle cards for every account role. */
.live-shell .cycle-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 26px}.live-shell .cycle-overview .cycle-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:150px;padding:20px;text-align:left;color:#40526c;font:inherit}.cycle-card-copy{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:5px 10px;min-width:0}.cycle-card-copy .cycle-symbol{grid-column:1;grid-row:1/3;width:46px;height:46px;margin:0}.cycle-card-copy .cycle-symbol .glass-icon{width:46px;height:46px}.cycle-card-title{grid-column:2;font-size:16px;font-weight:700;line-height:1.5;white-space:nowrap}.cycle-card-count{grid-column:2;font-size:10px;line-height:1.7;color:#72839b;white-space:nowrap}.cycle-overview .glass-ring{width:82px;height:82px;flex:0 0 82px}.work-cycle-overview .cycle-card{cursor:pointer;transition:box-shadow .15s,border-color .15s}.work-cycle-overview .cycle-card:hover{box-shadow:inset 0 0 0 1px #aaaee85c,0 8px 24px #7c8fac0e}.work-cycle-overview .cycle-card[aria-pressed="true"]{border-color:#a9b4ed;box-shadow:inset 0 0 0 1px #a9b4ed55,0 10px 24px #889ab512}.work-cycle-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#8391a6;margin:0 0 -8px}.work-cycle-heading .text-button{font-size:11px}.work-cycle-heading .text-button[aria-pressed="true"]{font-weight:700}.role-progress{margin-bottom:26px}.role-progress .panel-header h2{margin:0}.progress-scope-note{margin:7px 0 0;font-size:10px;color:#91a0b3}.role-progress .team-progress{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;border-radius:12px}.role-progress .team-progress:hover{background:#edf2ff66}.role-progress .progress-row{grid-template-columns:minmax(85px,1fr) minmax(110px,1.6fr) 45px;gap:18px;padding:20px 0}.role-progress .progress-row>b{overflow-wrap:anywhere}.role-progress .progress-row small{font-size:11px}.role-progress .team-progress:focus-visible{outline:2px solid #8e9beb;outline-offset:4px}
@media(max-width:1200px){.live-shell .cycle-overview{grid-template-columns:1fr;gap:13px}.live-shell .cycle-overview .cycle-card{min-height:145px;padding:22px 26px}.cycle-card-title{font-size:16px}.cycle-card-count{font-size:11px}.cycle-card-copy{grid-template-columns:50px minmax(0,1fr);gap:5px 12px}.cycle-card-copy .cycle-symbol,.cycle-card-copy .cycle-symbol .glass-icon{width:50px;height:50px}.cycle-overview .glass-ring{width:88px;height:88px;flex-basis:88px}}
@media(max-width:700px){.live-shell .cycle-overview{margin:18px 0 24px}.live-shell .cycle-overview .cycle-card{min-height:145px;padding:21px 23px;border-radius:28px}.cycle-card-copy{grid-template-columns:42px minmax(0,1fr);gap:5px 10px}.cycle-card-copy .cycle-symbol,.cycle-card-copy .cycle-symbol .glass-icon{width:42px;height:42px}.cycle-card-title{font-size:16px}.cycle-card-count{font-size:10px}.cycle-overview .glass-ring{width:84px;height:84px;flex-basis:84px}.role-progress .progress-row{grid-template-columns:minmax(80px,1fr) minmax(95px,1.4fr) 35px;gap:12px;padding:19px 0}.role-progress .progress-row>b{font-size:12px;gap:7px}.role-progress .progress-row small{font-size:10px;white-space:normal}.role-progress .progress-row>strong{font-size:14px}.role-progress .panel-header .text-button{font-size:10px;white-space:nowrap}.role-progress .panel-header h2{font-size:14px}.progress-scope-note{font-size:9px}.role-progress{padding:24px 20px}.live-shell.employee-workspace .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-shell.employee-workspace .admin-kpis>div{padding:22px;min-height:120px;border-radius:20px}.live-shell.employee-workspace .admin-kpis span{font-size:11px;margin-bottom:14px}.live-shell.employee-workspace .admin-kpis strong{font-size:31px}}
@media(max-width:350px){.live-shell .cycle-overview .cycle-card{padding:18px}.cycle-overview .glass-ring{width:74px;height:74px;flex-basis:74px}.cycle-card-title{font-size:15px}.cycle-card-count{font-size:9px}.role-progress .progress-row{grid-template-columns:minmax(65px,1fr) minmax(85px,1.3fr) 30px;gap:8px}}

/* Clear page roles, quiet secondary tools and readable touch targets. */
.page-help{font-size:14px;line-height:1.8;color:#677a94;margin:0 0 20px}.admin-navigation{margin:24px 4px 0;border-top:1px solid #e3e9f3;padding-top:18px}.admin-navigation summary{font-size:12px;font-weight:700;color:#697c98;cursor:pointer;padding:10px}.admin-navigation button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px 16px;border-radius:12px;color:#697b94;font-size:12px}.admin-navigation button.active{background:#e8edff;color:#5f59d6}.work-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 18px;scroll-margin-top:24px}.work-list-heading h2{font-size:19px;margin:0;color:#40526c}.work-list-heading>span{font-size:12px;color:#72839b;white-space:nowrap}.work-tools{margin:0 0 20px;padding:12px 16px;background:#ffffff70;border:1px solid #fff;border-radius:14px}.work-tools summary{font-size:12px;color:#7889a1;cursor:pointer;min-height:24px}.work-tools[open] .actions{margin:14px 0 0}.work-tools .actions button{font-size:12px;min-height:44px}.team-work-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0}.team-work-filters label{display:flex;align-items:center;gap:12px;font-size:13px;color:#677b96}.team-work-filters select{min-width:180px;min-height:44px;font-size:13px}.history-team-label{display:grid;gap:8px;font-size:12px;color:#687c97;margin:14px 0 24px}.history-team-label select{width:100%;min-height:44px}.profile-management{margin-top:24px}.profile-management h2{font-size:16px}.profile-management .profile-links{margin-bottom:0}.task-extra{border-top:1px solid #e4eaf3;padding-top:14px}.task-extra summary{font-size:13px;color:#697b97;cursor:pointer;min-height:36px}.task-extra[open]{display:grid;gap:16px}.live-form>label{font-size:13px}.live-form select,.live-form input{min-height:46px}.live-shell .cycle-tabs button{min-height:44px}.live-shell .live-task .task-meta>span:empty{display:none}
@media(max-width:700px){.page-help{font-size:13px;margin:0 0 18px}.team-work-filters select{min-width:150px}.work-list-heading h2{font-size:18px}.work-list-heading>span{font-size:11px}.work-tools .actions{display:grid;grid-template-columns:1fr;gap:8px}.live-shell .live-task{padding:22px 20px}.live-shell .live-task h2{font-size:16px;line-height:1.65}.profile-management{padding:22px}.live-form>label{font-size:14px}}

.live-shell .cycle-card-count{font-size:12px}.live-shell .role-progress .progress-scope-note{font-size:11px}.live-shell .role-progress .progress-row small{font-size:11px}

.record-total{font-size:14px;font-weight:700;color:#526782;margin:20px 0}.history-detail-heading .eyebrow{font-size:11px;line-height:1.7}

/* Keep three-digit completion values inside the ring without enlarging cards. */
.cycle-overview .glass-ring{overflow:hidden}
.cycle-overview .glass-ring>div{inset:22% 18%;gap:4px}
.cycle-overview .glass-ring strong{display:flex;align-items:baseline;justify-content:center;max-width:100%;font-size:20px;letter-spacing:-.4px;line-height:1.1;white-space:nowrap}
.cycle-overview .glass-ring strong small{font-size:9px;line-height:1;letter-spacing:0;margin-left:1px}
.cycle-overview .glass-ring span{font-size:8px;line-height:1.2;margin-top:0}
@media(max-width:350px){.cycle-overview .glass-ring strong{font-size:18px}.cycle-overview .glass-ring strong small{font-size:8px}}

/* All-team source refresh uses readable per-team results on every screen. */
.all-source-panel h2{font-size:18px;margin:0 0 14px}.all-source-panel>p{font-size:13px;line-height:1.8;color:#6c7e97}.all-source-panel .caption{font-size:11px}.all-source-panel .actions{margin:20px 0 0}.all-source-panel .primary{white-space:normal;min-height:46px;line-height:1.6}.all-source-summary{font-size:13px;font-weight:700;color:#556b88;margin:24px 0 10px}.all-source-results{list-style:none;padding:0;margin:0}.all-source-results li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e6edf5}.all-source-results li:last-child{border:0}.all-source-results li>div{min-width:0}.all-source-results strong{display:block;font-size:13px;color:#4f647f}.all-source-results small{display:block;font-size:11px;color:#7b8da6;line-height:1.7;margin-top:5px;overflow-wrap:anywhere}.all-source-results li>span{font-size:11px;flex-shrink:0;border-radius:9px;padding:6px 9px;background:#edf1f7;color:#7c8ba0}.all-source-results [data-source-result="applied"]{background:#e6f6ef;color:#32816a}.all-source-results [data-source-result="failed"]{background:#fff0eb;color:#b46449}.all-source-results [data-source-result="running"]{background:#edecff;color:#6862c7}@media(max-width:700px){.all-source-panel .actions .primary{width:100%;font-size:12px}.all-source-results li{gap:12px}}

/* Administrator-only access and task check summaries. */
.access-note{font-size:11px;line-height:1.8;color:#7a8ca3;margin:14px 0}.login-content>.access-note{font-size:10px}.access-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.access-filters label{display:grid;gap:8px;font-size:12px;color:#637892}.access-filters input,.access-filters select{min-height:44px;min-width:190px}.access-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.access-summary>div{background:#ffffffb0;border:1px solid #fff;border-radius:20px;padding:23px}.access-summary span{display:block;font-size:12px;color:#6f819a;margin-bottom:13px}.access-summary strong{font-size:29px;color:#526b89}.access-summary small{font-size:12px;font-weight:400;margin-left:5px}.access-days{margin:24px 0}.access-days h2{font-size:17px;margin:0 0 20px}.access-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.access-day-grid button{display:flex;align-items:center;flex-direction:column;gap:12px;min-height:80px;border:1px solid #e3eaf4;border-radius:13px;background:#ffffff80;color:#63758f;padding:12px 5px}.access-day-grid button.selected{border-color:#a4a7ee;background:#eeedff;color:#615cc4}.access-day-grid button>span{font-size:11px}.access-day-grid strong{font-size:20px}.access-day-grid small{font-size:10px;font-weight:400;margin-left:2px}.access-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.access-member-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.access-member-title h3{font-size:16px;margin:0 0 6px;color:#405870}.access-member-title div>span{font-size:11px;color:#8394a8}.access-visit{font-size:10px;border-radius:8px;padding:6px 8px;background:#edf1f5;color:#8290a2;white-space:nowrap}.access-visit.visited{background:#e5f5ee;color:#3b886b}.access-member-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.access-member-counts span{display:block;font-size:11px;color:#8191a7;margin-bottom:10px}.access-member-counts strong{font-size:22px;font-weight:700;color:#506b89}.access-member-counts small{font-size:11px;font-weight:400;margin-left:4px}.access-member>p{font-size:11px;line-height:1.7;color:#8796a9;border-top:1px solid #e6edf5;padding-top:14px;margin:20px 0 0}@media(max-width:700px){.access-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-filters input,.access-filters select{min-width:0;width:100%;font-size:12px}.access-summary{gap:8px}.access-summary>div{padding:16px 11px}.access-summary span{font-size:10px;line-height:1.6;min-height:32px}.access-summary strong{font-size:25px}.access-day-grid{gap:5px}.access-day-grid button{min-height:67px;gap:10px;padding:9px 1px;border-radius:9px}.access-day-grid button>span{font-size:9px}.access-day-grid strong{font-size:17px}.access-day-grid small{font-size:8px}.access-days{padding:21px 16px}.access-members{grid-template-columns:1fr;gap:14px}.access-member{padding:22px}.access-visit{font-size:9px}.access-note{font-size:10px}}

/* Clinic identity: supplied transparent logo, shared by login and app header. */
.brand .brand-mark{flex-shrink:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.brand .clinic-logo{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #366bb51a)}
.login-story .brand .brand-mark{background:transparent;border:0;box-shadow:none}
@media(max-width:370px){.live-shell aside .brand-mark.brand-glass{display:grid;width:24px;height:28px}.live-shell aside .brand{font-size:11px}}

/* Bundled request inbox styles. */
/* Administrator trial request inbox. Existing task controls and navigation stay scoped separately. */
.requests-page{min-width:0}.requests-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 24px;margin-bottom:24px}.requests-test-badge{display:inline-block;padding:5px 9px;border-radius:9px;background:#ececff;color:#6b68be;font-size:10px;font-weight:700;margin-bottom:13px}.requests-intro h2{font-size:21px;color:#405872;margin:0 0 10px}.requests-intro p{font-size:12px;color:#7c8ea5;margin:0}.requests-intro-actions{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.requests-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #dfe6f2;border-radius:13px;padding:11px 15px;background:#ffffffa1;color:#657993;font-size:12px;line-height:1.5}.requests-secondary:hover{background:#fff;border-color:#c8d4ea}.requests-intro .requests-test-note{grid-column:1/-1;padding-top:17px;border-top:1px solid #e3eaf5;font-size:11px;line-height:1.85;color:#7a89a1}.requests-note{font-size:11px;line-height:1.85;color:#7f8fa6;margin:12px 0 18px}.requests-filters{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(160px,.8fr) minmax(200px,1.3fr);gap:16px;margin:24px 0 18px}.requests-filters>label,.requests-create label{display:grid;gap:8px;font-size:12px;color:#6f819b;min-width:0}.requests-filters input:not([type=checkbox]),.requests-filters select,.requests-create input,.requests-create select,.requests-create textarea{width:100%;min-width:0;min-height:44px;font-size:13px}.requests-filters .requests-archive-filter{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-height:34px;font-size:11px;margin-top:-5px}.requests-archive-filter input[type=checkbox]{appearance:auto;flex:0 0 17px;width:17px;height:17px;min-width:17px;min-height:17px;margin:0;accent-color:#7778df}.requests-tabs{display:flex;gap:5px;background:#e9edf6a6;border:1px solid #ffffffb3;border-radius:15px;padding:5px;width:max-content;max-width:100%}.requests-tabs button{min-height:44px;padding:10px 21px;border:0;border-radius:10px;background:transparent;font-size:12px;color:#8a97aa}.requests-tabs .chosen{background:#ffffffcf;color:#5b65bd;font-weight:700;box-shadow:0 2px 7px #495b9310}.requests-tabs button:disabled{opacity:.4}.requests-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 28px}.requests-summary>div{padding:22px;background:#ffffffa8;border:1px solid #ffffffdb;border-radius:20px;min-width:0}.requests-summary span{display:block;color:#7a8ba1;font-size:11px;margin-bottom:11px}.requests-summary strong{font-size:29px;line-height:1.2;color:#586e8b}.requests-summary small{font-size:11px;margin-left:6px;font-weight:400}.requests-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.requests-list-heading h2{font-size:17px;margin:0;color:#4c627d}.requests-list-heading>span{font-size:11px;color:#8a98ae}.requests-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.requests-card{min-width:0;padding:24px}.requests-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.requests-kind{font-size:10px;color:#8b9bb0}.requests-status{font-size:10px;font-weight:700;line-height:1.5;color:#8c8aad;background:#eeedf8;padding:6px 9px;border-radius:9px;white-space:nowrap}.requests-status[data-request-status=requested]{background:#f2eeff;color:#8b75b9}.requests-status[data-request-status=accepted],.requests-status[data-request-status=in_progress]{background:#e8f3ff;color:#658cb4}.requests-status[data-request-status=done]{background:#fff1e1;color:#af8c5a}.requests-status[data-request-status=confirmed]{background:#e4f5ed;color:#5c9582}.requests-status[data-request-status=cancelled]{background:#edf0f5;color:#97a1b2}.requests-card h3{font-size:16px;margin:13px 0 12px;line-height:1.6;letter-spacing:-.4px}.requests-title{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:3px 0;background:none;border:0;text-align:left;color:#4a627e;font-weight:700;line-height:1.65;overflow-wrap:anywhere}.requests-title>span{flex-shrink:0;color:#9aa9c0;font-size:19px;font-weight:400}.requests-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#778ba8;min-width:0}.requests-flow>span:not(.requests-flow-arrow){padding:5px 8px;border:1px solid #e5ebf4;border-radius:8px;background:#f7faff8c;overflow-wrap:anywhere}.requests-flow-arrow{color:#a7b4c9}.requests-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;font-size:12px;line-height:1.9;color:#8b9bb0;margin:17px 0 20px;overflow-wrap:anywhere}.requests-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:19px 0 0;color:#8a9ab0;font-size:10px}.requests-card-bottom b{color:#7387a1;font-weight:600;margin-left:5px}.requests-updated{font-size:10px;color:#a0adbf;padding-top:12px;border-top:1px solid #e8edf5;margin:14px 0 0}.requests-empty{grid-column:1/-1;display:grid;justify-items:center;padding:43px 24px;border:1px solid #ffffffb5;border-radius:22px;background:#ffffff4d}.requests-empty strong{font-size:14px;color:#6f819b}.requests-empty p{font-size:12px;margin:10px 0 20px;max-width:360px}.requests-loading{padding:45px 15px;font-size:12px;text-align:center;color:#8b9ab1}.requests-form-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.requests-create{min-width:0}.requests-create .requests-note{margin-top:0}.requests-create textarea{resize:vertical;min-height:130px;line-height:1.8}.requests-optional{font-size:10px;color:#a0adc0}.requests-detail{min-width:0}.requests-detail h2{font-size:22px;line-height:1.6;margin:17px 0 16px;overflow-wrap:anywhere;color:#455d79}.requests-detail-flow{margin-bottom:22px}.requests-lifecycle{list-style:none;display:flex;gap:7px;justify-content:space-between;padding:11px 8px;background:#f2f5faad;border-radius:13px;margin:0 0 24px}.requests-lifecycle li{flex:1;font-size:11px;text-align:center;color:#a3aec0;padding:8px 3px;border-radius:9px}.requests-lifecycle li.current{background:#e9edff;color:#6b77c0;font-weight:700}.requests-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}.requests-detail-meta>div{min-width:0}.requests-detail-meta dt{font-size:10px;color:#98a6b9;margin-bottom:5px}.requests-detail-meta dd{margin:0;font-size:12px;color:#6a7e98;overflow-wrap:anywhere}.requests-body{padding:20px;background:#f5f8fc99;border:1px solid #e6edf5;border-radius:15px;color:#7488a2;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:23px 0}.requests-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 29px}.requests-detail-actions>.primary,.requests-detail-actions>.requests-secondary{min-height:44px;font-size:12px}.requests-history{padding-top:23px;border-top:1px solid #e5ecf6}.requests-history h3{font-size:16px;color:#556d89;margin:0}.requests-history .requests-note{margin:7px 0 16px}.requests-history ol{list-style:none;padding:0;margin:0;max-height:380px;overflow:auto}.requests-history li{padding:15px 0;border-bottom:1px solid #e7edf5}.requests-history li:last-child{border-bottom:0}.requests-history li>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#8e9eb3}.requests-history li strong{font-size:12px;color:#6e849f}.requests-history li time{font-size:10px;margin-left:auto;color:#9eacc0}.requests-history li p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85;color:#7c8fa7;margin:9px 0 0}.requests-history li small{font-size:10px;color:#9aa9bc;display:block;margin-top:7px}.requests-detail-close{display:flex;justify-content:flex-end;margin-top:22px}
dialog.requests-modal{width:min(740px,calc(100vw - 32px));max-width:740px;max-height:calc(100dvh - 40px);padding:28px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.requests-modal>.requests-detail{width:100%;min-width:0}.requests-modal .requests-detail .primary{background:linear-gradient(140deg,#96aaff,#6e83ff 40%,#4d4dff);color:white;border:1px solid #ffffff6b;border-radius:13px;box-shadow:inset 0 1px 0 #ffffff8c,0 6px 13px #687ae527}
@media(max-width:900px){.requests-intro{grid-template-columns:1fr;gap:16px}.requests-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.requests-search-label{grid-column:1/-1}.requests-cards{grid-template-columns:1fr}.requests-intro-actions{align-items:center}.requests-intro .requests-test-note{padding-top:15px}}
@media(max-width:700px){.requests-intro{padding:23px 20px;border-radius:23px}.requests-intro h2{font-size:18px;line-height:1.5}.requests-intro p{font-size:11px;line-height:1.9}.requests-intro .requests-test-note{font-size:10px}.requests-intro-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.requests-intro-actions .primary{font-size:12px}.requests-secondary{font-size:11px;padding:10px 13px}.requests-filters{gap:13px 10px}.requests-filters>label{font-size:11px}.requests-filters input:not([type=checkbox]),.requests-filters select{font-size:12px}.requests-tabs{width:100%;gap:3px}.requests-tabs button{flex:1;padding:10px 6px;font-size:11px}.requests-summary{gap:8px;margin:20px 0 26px}.requests-summary>div{padding:17px 11px;border-radius:17px}.requests-summary span{font-size:10px;line-height:1.6;min-height:32px;margin-bottom:7px}.requests-summary strong{font-size:25px}.requests-summary small{font-size:10px;margin-left:4px}.requests-card{padding:21px 19px;border-radius:22px}.requests-card h3{font-size:15px}.requests-kind,.requests-status{font-size:9px}.requests-flow{font-size:10px;gap:6px}.requests-excerpt{font-size:11px}.requests-card-bottom{font-size:10px;line-height:1.7}.requests-note{font-size:10px;line-height:1.85}.requests-detail h2{font-size:19px}.requests-detail-meta{gap:15px 10px}.requests-detail-actions{gap:7px}.requests-detail-actions>.primary,.requests-detail-actions>.requests-secondary{flex:1 1 115px;font-size:11px}.requests-body{padding:16px;font-size:12px}.requests-lifecycle{gap:3px;padding:7px 5px}.requests-lifecycle li{font-size:10px;padding:8px 2px}.requests-history li time{margin-left:0;flex-basis:100%}.requests-form-teams{grid-template-columns:1fr;gap:0}.requests-create input,.requests-create select,.requests-create textarea{font-size:13px}}
@media(max-width:700px){dialog.requests-modal{padding:20px 17px;max-height:calc(100dvh - 28px)}}
@media(max-width:350px){.requests-summary>div{padding:16px 9px}.requests-summary span{font-size:9px}.requests-summary strong{font-size:23px}.requests-intro{padding:20px 17px}.requests-card{padding:18px 16px}.requests-detail-meta{grid-template-columns:1fr}.requests-card-meta{gap:8px}.requests-intro-actions .primary{font-size:11px}}
.requests-detail-error:empty{display:none}.requests-detail-error{padding:12px 15px;background:#fff2ed;border:1px solid #f0d6ce;border-radius:12px;color:#a56a57;font-size:12px;line-height:1.8;margin:16px 0}.requests-detail-error p{margin:0 0 8px}.requests-form-context{font-size:12px;line-height:1.85;color:#7f8fa6;overflow-wrap:anywhere}

#push-send{display:grid;gap:16px;max-width:640px;margin:20px 0 32px}#push-send label{display:grid;gap:8px}#push-send textarea{min-height:110px;width:100%;resize:vertical}#push-panel h3{margin-top:28px}#push-panel .actions{flex-wrap:wrap}

.upload-panel{max-width:1100px}.upload-steps{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.upload-steps span{padding:10px 14px;background:#f0edf9;border-radius:10px;color:#675ab2;font-size:13px}.upload-file{display:grid;gap:12px;margin:24px 0;padding:22px;border:1px dashed #bfb6dc;border-radius:14px;background:#faf9ff}.upload-file input{max-width:100%}#task-upload-preview .primary{margin-top:20px}.upload-panel details{margin-top:20px}.upload-panel td{overflow-wrap:anywhere;max-width:350px}

/* Bundled team assignment styles. */
/* Team ownership and proxy completion stay apart from personal check controls. */
.assignment-tools{margin-top:18px;padding-top:12px;border-top:1px solid #e5ecf5;min-width:0}.assignment-tools>summary{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:44px;margin-left:auto;padding:9px 13px;border:1px solid #e0e7f1;border-radius:12px;background:#ffffff80;color:#74849d;font-size:11px;font-weight:600;cursor:pointer;list-style:none;box-sizing:border-box}.assignment-tools>summary::-webkit-details-marker{display:none}.assignment-tools[open]>summary{background:#eeedff;color:#6f70b5;border-color:#dbddf4}.assignment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.assignment-actions button{flex:1 1 130px;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid #e0e7f1;border-radius:11px;background:#ffffffad;color:#657c98;font-size:11px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.assignment-actions button:hover{background:#fff;border-color:#c7d4ea}.assignment-actions button:focus-visible,.assignment-tools>summary:focus-visible{outline:3px solid #a6aff0;outline-offset:2px}.assignment-meta{display:grid;gap:7px;margin:14px 0 0;color:#8a9bb1;font-size:10px;line-height:1.8;overflow-wrap:anywhere}.assignment-meta>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.assignment-temporary,.assignment-app-owner{display:inline-block;padding:3px 7px;border-radius:7px;background:#edf0ff;color:#8583ba;font-size:9px;line-height:1.7}.assignment-temporary{background:#e9f5ff;color:#7195b7}.assignment-proxy-note{color:#6f9688}.assignment-form-context{font-size:12px;color:#8293aa;line-height:1.9;overflow-wrap:anywhere}.assignment-form-context b{color:#526b87}.assignment-form-description{font-size:13px;line-height:1.9;color:#788da6;overflow-wrap:anywhere;margin:18px 0 23px}.assignment-sync-note{border:1px solid #e4eaf4;background:#f3f6fd;border-radius:11px;padding:11px 13px;font-size:11px;line-height:1.8;color:#8a98ae;margin:14px 0 20px}.assignment-optional{font-size:10px;color:#a0adbf}.assignment-modal textarea{resize:vertical;min-height:110px}.assignment-modal input,.assignment-modal select,.assignment-modal textarea{width:100%;min-width:0;font-size:14px;box-sizing:border-box}.assignment-modal select{min-height:44px}dialog.assignment-modal{width:min(600px,calc(100vw - 32px));max-width:600px;max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;padding:28px}.assignment-modal .live-form{min-width:0}.assignment-modal h2{overflow-wrap:anywhere;font-size:21px;line-height:1.5}.assignment-modal .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.assignment-modal .actions button{min-height:44px;white-space:normal}
@media(max-width:700px){.assignment-actions{gap:7px}.assignment-actions button{flex-basis:135px;font-size:11px}.assignment-tools>summary{font-size:11px}.assignment-meta{font-size:10px}dialog.assignment-modal{padding:23px 19px;max-height:calc(100dvh - 24px)}.assignment-form-context{font-size:11px}.assignment-form-description{font-size:12px}.assignment-sync-note{font-size:10px}.assignment-modal h2{font-size:19px}.assignment-modal select,.assignment-modal textarea{font-size:14px}}
@media(max-width:350px){.assignment-actions button{flex-basis:100%}dialog.assignment-modal{padding:21px 16px}.assignment-modal .actions button{flex:1 1 100px;padding:10px 12px;font-size:12px}}

/* Bundled bulk assignment styles. */
/* Bulk ownership changes are reviewed before any task is changed. */
.team-work-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;min-width:0;margin-bottom:20px}.team-work-heading>.page-help{flex:1 1 260px;min-width:0;margin:0}.team-work-actions{display:flex;align-items:stretch;gap:8px;margin-left:auto;max-width:100%}.team-work-actions>button,.work-entry-actions>.work-print-open{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;margin:0;padding:11px 17px;border:1px solid #dce1f1;border-radius:13px;background:#fff;color:#675ab2;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;cursor:pointer}.team-work-actions>button:hover,.work-entry-actions>.work-print-open:hover{background:#f5f3fc;border-color:#c6bfe4}.team-work-actions>button:focus-visible,.work-entry-actions>.work-print-open:focus-visible{outline:3px solid #aaa1ea;outline-offset:3px}@media(max-width:600px){.team-work-heading{gap:12px}.team-work-heading>.page-help{flex-basis:100%}.team-work-actions{display:grid;grid-template-columns:1fr 1.35fr 1fr;width:100%;margin-left:0;gap:8px}.team-work-actions>button{padding:10px 8px;white-space:normal;word-break:keep-all}.team-work-actions>button:only-child{grid-column:1 / -1;justify-self:end;min-width:100px}}
.bulk-assignment-open{min-height:44px;padding:11px 17px;border:1px solid #dce1f1;border-radius:13px;background:#fff;color:#675ab2;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;cursor:pointer}
dialog.assignment-bulk-modal{width:min(800px,calc(100vw - 32px));max-width:800px;max-height:calc(100dvh - 32px);padding:0;box-sizing:border-box;border:1px solid #e7eaf4;border-radius:23px;overflow:auto;background:#fafbff;color:#243a58;box-shadow:0 24px 90px #29385e30}
.assignment-bulk-modal *{box-sizing:border-box}.bulk-assignment-dialog{min-width:0}.bulk-assignment-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 30px;background:#fff;border-bottom:1px solid #eef0f6}.bulk-assignment-header h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.7px;line-height:1.4}.bulk-assignment-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#64728a;font:300 29px/1 sans-serif;cursor:pointer}.bulk-assignment-close:hover{background:#f0f2fa}.bulk-assignment-intro{padding:29px 32px 23px}.bulk-assignment-intro h3{margin:0 0 9px;font-size:22px;font-weight:750;letter-spacing:-.8px;line-height:1.5}.bulk-assignment-intro p{margin:0;color:#7f91a9;font-size:13px;line-height:1.8}.bulk-assignment-body{padding:0 32px 30px;min-width:0}.bulk-assignment-owners{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 21px}.bulk-assignment-owners label,.bulk-assignment-team-label{display:grid;gap:10px;min-width:0;margin:0;font-size:13px;font-weight:700;color:#304663}.bulk-assignment-team-label{margin:0 0 20px}.assignment-bulk-modal select{display:block;width:100%;min-width:0;min-height:47px;margin:0;padding:11px 13px;border:1px solid #dfe5ef;border-radius:11px;background:#fff;color:#455b77;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}.assignment-bulk-modal select:disabled{background:#f4f6fa;color:#9ba8ba}.bulk-assignment-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 11px}.bulk-assignment-list-heading h3{margin:0;font-size:14px;line-height:1.5}.bulk-assignment-list-heading h3 span{margin-left:8px;color:#8b8abb;font-weight:500;font-size:11px;white-space:nowrap}.bulk-assignment-list-heading>div{display:flex;gap:6px}.bulk-assignment-secondary,.bulk-assignment-primary{min-height:44px;padding:11px 15px;border:1px solid transparent;border-radius:11px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer;white-space:normal}.bulk-assignment-secondary{background:#f0eef9;color:#7567b2}.bulk-assignment-primary{background:#6a56c4;color:#fff;box-shadow:0 4px 10px #6650b71c}.bulk-assignment-secondary:hover{background:#e8e3f8}.bulk-assignment-primary:hover{background:#5d48b8}.assignment-bulk-modal button:disabled{opacity:.44;cursor:default;box-shadow:none}.assignment-bulk-modal button:focus-visible,.assignment-bulk-modal select:focus-visible,.bulk-assignment-task input:focus-visible{outline:3px solid #aaa1ea;outline-offset:3px}.bulk-assignment-task-list{max-height:295px;min-height:170px;overflow:auto;overscroll-behavior:contain;border:1px solid #dfe5ef;border-radius:14px;background:#fff;margin:0;padding:5px 15px;list-style:none}.bulk-assignment-task{display:flex;align-items:center;gap:13px;min-height:57px;margin:0;padding:12px 1px;border-bottom:1px solid #eef1f7;cursor:pointer;font-weight:400}.bulk-assignment-task:last-child{border-bottom:0}.bulk-assignment-task input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;flex:0 0 21px;width:21px;min-width:21px;max-width:21px;height:21px;min-height:21px;max-height:21px;padding:0;margin:0;border:1.5px solid #c6cfdf;border-radius:6px;background:#fff;position:relative;cursor:pointer}.bulk-assignment-task input[type=checkbox]:checked{background:#7160c8;border-color:#7160c8}.bulk-assignment-task input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.bulk-assignment-task-name{flex:1 1 auto;min-width:0;color:#3c526f;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.bulk-assignment-cycle{flex:0 0 auto;margin-left:auto;display:inline-block;padding:4px 9px;border-radius:7px;background:#f1f3fc;color:#8289b4;font-size:10px;line-height:1.5;white-space:nowrap}.bulk-assignment-empty{margin:54px 6px;text-align:center;color:#98a6b9;font-size:12px;line-height:1.8}.bulk-assignment-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.bulk-assignment-note{margin:10px 0 0;color:#8999af;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.bulk-assignment-selection-actions .bulk-assignment-note{margin:0}.bulk-assignment-sync-note{margin:13px 0 0;color:#98a5b8;font-size:10px;line-height:1.8}.bulk-assignment-error{margin:10px 0 0;color:#b15b6a;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.bulk-assignment-error:empty{display:none}.bulk-assignment-restore{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #e1e6ef}.bulk-assignment-restore h3{font-size:12px;margin:0 0 6px;color:#70829d}.bulk-assignment-restore p{font-size:11px;line-height:1.9;color:#8b9bb0;margin:0;overflow-wrap:anywhere}.bulk-assignment-restore>div{min-width:0}.bulk-assignment-restore button{flex:0 0 auto}.bulk-assignment-loading{padding:45px 15px;color:#899ab2;text-align:center;font-size:13px;line-height:1.8}.bulk-assignment-preview{padding:23px;border-radius:15px;background:#f0edf9;min-width:0}.bulk-assignment-preview h3{font-size:14px;color:#7363af;margin:0 0 17px}.bulk-assignment-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:17px;color:#514378;line-height:1.6;margin:0 0 9px}.bulk-assignment-preview>p{font-size:13px;line-height:1.8;color:#6b5a95;margin-top:0}.bulk-assignment-preview .bulk-assignment-flow{font-size:17px}.bulk-assignment-preview-list{min-height:0;max-height:240px;margin-top:17px;background:#ffffffa6;border-color:#e2ddf0}.bulk-assignment-preview-list .bulk-assignment-task{cursor:default}.bulk-assignment-kept{font-size:11px!important;color:#8a80a9!important;margin:12px 0 0!important}.bulk-assignment-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px}.bulk-assignment-preview-actions .bulk-assignment-secondary{background:transparent;color:#6a56b4}
@media(max-width:600px){dialog.assignment-bulk-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.bulk-assignment-header{padding:15px 17px}.bulk-assignment-header h2{font-size:19px}.bulk-assignment-intro{padding:22px 20px 20px}.bulk-assignment-intro h3{font-size:19px}.bulk-assignment-intro p{font-size:11px}.bulk-assignment-body{padding:0 20px 24px}.bulk-assignment-owners{gap:12px}.bulk-assignment-owners label,.bulk-assignment-team-label{font-size:12px;gap:8px}.assignment-bulk-modal select{font-size:12px;padding:10px 8px}.bulk-assignment-list-heading{gap:8px;align-items:flex-end}.bulk-assignment-list-heading h3{font-size:13px}.bulk-assignment-list-heading h3 span{display:block;margin:3px 0 0;font-size:10px}.bulk-assignment-list-heading .bulk-assignment-secondary{padding:8px 10px;font-size:10px}.bulk-assignment-task-list{padding:4px 12px;max-height:270px;min-height:160px}.bulk-assignment-task{gap:10px}.bulk-assignment-task-name{font-size:12px}.bulk-assignment-cycle{font-size:9px;padding:4px 7px}.bulk-assignment-selection-actions{gap:10px}.bulk-assignment-selection-actions .bulk-assignment-note{font-size:10px;max-width:52%}.bulk-assignment-primary,.bulk-assignment-secondary{font-size:11px;padding:10px 12px}.bulk-assignment-restore{gap:12px}.bulk-assignment-restore button{font-size:10px;padding:10px}.bulk-assignment-preview{padding:18px 15px}.bulk-assignment-preview-list{min-height:0;padding:3px 10px}.bulk-assignment-preview .bulk-assignment-flow{font-size:15px}}
@media(max-width:360px){.bulk-assignment-owners{grid-template-columns:1fr;gap:15px}.bulk-assignment-body{padding-right:16px;padding-left:16px}.bulk-assignment-intro{padding-right:16px;padding-left:16px}.bulk-assignment-restore{align-items:flex-start;flex-direction:column}.bulk-assignment-restore button{align-self:flex-end}.bulk-assignment-list-heading .bulk-assignment-secondary{padding-right:8px;padding-left:8px}.bulk-assignment-intro h3{font-size:18px}}
.source-owner-modal{width:min(720px,calc(100vw - 24px));max-height:90vh;border:0;border-radius:24px;padding:0;color:#202744}.source-owner-modal::backdrop{background:#19213b66}.source-owner-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.source-owner-people label{display:flex;gap:10px;align-items:center;padding:12px;background:#f5f6ff;border-radius:12px}.source-owner-current{display:block;color:#5b6179;margin-top:5px}.source-owner-preview{padding:12px;border-bottom:1px solid #e5e8f1}.source-owner-modal input[type=checkbox]{width:20px;height:20px;accent-color:#4d4dff}.source-owner-modal h3{margin-top:24px}.team-work-heading{flex-wrap:wrap;gap:8px}

/* A4 checklist print styles. */
.work-print-dialog{width:min(1080px,calc(100vw - 24px));max-width:none;max-height:94vh;padding:0;border:0;border-radius:20px;color:#202744;background:#f1f3f7}.work-print-dialog::backdrop{background:#1a244a77}.print-toolbar,.print-options,.print-actions{background:white;padding:18px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.print-toolbar{justify-content:space-between;border-bottom:1px solid #e0e3ee}.print-toolbar h2{margin:0;font-size:22px}.print-toolbar p,.print-actions p{font-size:13px;line-height:1.6;margin:6px 0;color:#555d73}.print-options label{display:flex;gap:6px;flex-direction:column;font-size:13px;font-weight:600}.print-options select,.print-options input[type=date]{padding:9px;border:1px solid #d8dce8;border-radius:8px;background:white;color:#202744}.print-options .print-guide-option{flex-direction:row;align-items:center}.print-actions{justify-content:space-between;padding-top:0}.print-actions p{max-width:660px}.print-error{color:#b32323;margin:0 24px}.print-preview{padding:20px;overflow:auto}.print-empty{padding:40px;text-align:center}.print-toolbar button{padding:8px 16px;border:1px solid #cfd4e1;border-radius:8px;background:white}.print-actions button:disabled{opacity:.45;cursor:not-allowed}
#work-print-root{display:none}.checklist-paper{box-sizing:border-box;width:186mm;max-width:none;min-height:260mm;margin:0 auto 24px;padding:0;background:white;color:#111;font:10pt/1.45 Pretendard,Arial,sans-serif;overflow-wrap:anywhere}.print-preview .checklist-paper{padding:12mm;width:210mm;box-shadow:0 3px 16px #25345718}.paper-heading{margin-bottom:6mm}.paper-brand{margin:0 0 2mm;font-size:9pt;letter-spacing:.4px}.paper-heading h1{font-size:20pt;line-height:1.3;margin:0 0 5mm;font-weight:750}.paper-meta{display:flex;flex-wrap:wrap;gap:3mm 8mm;padding-bottom:3mm;border-bottom:1.5pt solid #222}.paper-meta b{margin-right:2mm}.paper-scope{margin:2mm 0 0;font-size:9pt;color:#333}.paper-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9pt}.paper-table th,.paper-table td{border:.6pt solid #777;padding:2.4mm 2mm;vertical-align:top;overflow-wrap:anywhere;white-space:normal}.paper-table th{background:#f0f0f0;color:#111;text-align:center;font-weight:700}.paper-table td strong{font-weight:600}.paper-table .paper-number{width:11mm}.paper-table .paper-owner{width:23mm}.paper-table .paper-check{width:18mm}.paper-table .paper-note{width:27mm}.paper-center{text-align:center}.paper-category{display:block;margin-top:1mm;font-size:8pt;color:#444}.paper-guide{white-space:pre-wrap;line-height:1.5;font-size:8.5pt;margin-top:2mm}.paper-box{display:inline-block;width:3.8mm;height:3.8mm;border:1pt solid #333;vertical-align:middle}.paper-footer{margin-top:7mm;font-size:9pt}.paper-footer small{display:block;font-size:8pt;color:#444;margin-top:4mm}.paper-table thead{display:table-header-group}.paper-table tr{break-inside:avoid;page-break-inside:avoid}
@media(max-width:600px){.print-toolbar,.print-options,.print-actions{padding-left:16px;padding-right:16px}.print-options{gap:12px}.print-actions button{width:100%}.print-preview{padding:12px}.print-toolbar h2{font-size:20px}}
@page{size:A4 portrait;margin:12mm}
@media print{
 body.printing-checklist{margin:0!important;padding:0!important;background:white!important;min-width:0!important;height:auto!important;overflow:visible!important}
 body.printing-checklist>*:not(#work-print-root){display:none!important}
 body.printing-checklist #work-print-root{display:block!important;width:auto!important;margin:0!important;padding:0!important}
 #work-print-root .checklist-paper{width:100%;min-height:0;margin:0;padding:0;box-shadow:none;break-before:page;page-break-before:always}
 #work-print-root .checklist-paper:first-child{break-before:auto;page-break-before:auto}
 #work-print-root .paper-heading{break-after:avoid;page-break-after:avoid}
 #work-print-root .paper-footer{break-inside:avoid;page-break-inside:avoid}
 #work-print-root .paper-table{width:100%}
}

/* Team dashboard styles. */
/* Team overview follows the separately saved, approved 2026-11-02 mockup. */
.team-dashboard{min-width:0}.team-dashboard .team-work-heading{margin-bottom:20px}.team-dashboard .work-team-picker{margin-bottom:18px}
.team-cycle-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 25px}
.team-cycle-card{display:flex;flex-direction:column;gap:17px;text-align:left;min-width:0;padding:20px 18px 15px;border:1px solid #fff;border-radius:27px;background:linear-gradient(125deg,#ffffffdf,#eaf2ffdc);box-shadow:0 10px 28px #526d9b05;color:#344b69}
.team-cycle-card[data-cycle-kind="주간"]{background:linear-gradient(125deg,#ffffffed,#f9efe8df)}.team-cycle-card[data-cycle-kind="월간"]{background:linear-gradient(125deg,#ffffffed,#eaf6efdf)}
.team-cycle-card[aria-pressed="true"]{border-color:#b1acff;box-shadow:inset 0 0 0 1px #e3e0ff,0 10px 25px #6c64dc08}.team-cycle-card:focus-visible,.team-dashboard-person:focus-visible{outline:3px solid #766de8;outline-offset:3px}
.team-cycle-title{display:flex;align-items:center;gap:11px;min-width:0}.team-cycle-title>strong{font-size:18px;font-weight:750;letter-spacing:-.5px}.team-cycle-icon,.team-cycle-icon .glass-icon{width:40px;height:40px;flex-shrink:0}
.team-cycle-values{display:flex;align-items:center;justify-content:space-between;gap:9px}.team-cycle-count{display:block;white-space:nowrap;font-size:27px;font-weight:750;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.team-cycle-count>small{font-size:13px;letter-spacing:0;font-weight:500;color:#74859d}.team-cycle-caption{display:block;font-size:12px;color:#74859d;margin-top:2px}
.team-cycle-foot{display:flex;justify-content:space-between;gap:5px;border-top:1px solid #e3eaf4;padding-top:11px;font-size:12px;color:#77869a}.team-cycle-foot b{color:#485d76}
.team-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.team-dashboard-heading h2{font-size:20px;letter-spacing:-.5px;margin:0}.team-dashboard-heading p{font-size:12px;color:#72849c;margin:6px 0 0}.team-dashboard-scope-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.team-dashboard-scope-actions .text-button{min-height:40px;font-size:12px}.team-dashboard-scope-actions .is-selected{font-weight:700;color:#6657d7}
.team-dashboard-grid{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(0,1.15fr);align-items:start;gap:16px}.live-shell .team-dashboard-grid>.panel{padding:22px 20px;border-radius:27px;min-width:0;background:linear-gradient(135deg,#ffffffed,#ffffffd9)}
.team-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px}.team-panel-heading h2{font-size:17px;line-height:1.5;margin:0;letter-spacing:-.4px}.team-panel-heading>span{font-size:11px;color:#77869a;white-space:nowrap}.team-panel-heading .team-remaining-badge{color:#7767dc;background:#efedff;padding:5px 8px;border-radius:9px}
.team-dashboard-person{display:grid;grid-template-columns:34px minmax(0,1fr) 42px;gap:11px;align-items:center;width:100%;padding:15px 9px;border:0;background:transparent;border-radius:15px;text-align:left;margin-top:4px;min-width:0;color:#435571}.team-dashboard-person.is-selected{background:#efedff}.team-dashboard-person>.person-avatar{width:34px;height:34px;display:grid;place-items:center;font-size:12px;background:#eef2f9;color:#7889a1;border-radius:12px;flex:none}.team-person-copy{min-width:0}.team-person-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.team-person-heading b{font-size:13px;font-weight:700;overflow-wrap:anywhere}.team-person-heading b>small{font-size:11px;color:#8b80cc;font-weight:500}.team-person-heading>small{font-size:11px;color:#7b8ba0;white-space:nowrap}.team-person-bar{display:block;height:5px;border-radius:5px;background:#eceff7;overflow:hidden;margin:8px 0 4px}.team-person-bar>span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8bd5fb,#7768ee)}.team-person-copy>small{font-size:11px;color:#7b8ba0}.team-person-percent{font-size:14px;font-variant-numeric:tabular-nums;text-align:right;color:#52627b}
.team-dashboard-detail-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.team-dashboard-detail-tools>span{font-size:11px;color:#77869a}.team-owner-picker{font-size:11px;min-width:0}.team-owner-picker>summary{padding:8px 9px;min-height:36px}.team-owner-picker .owner-multi-options{min-width:190px}.team-owner-picker .owner-multi-options label{font-size:12px}
.team-status-tabs{display:flex;gap:20px;border-bottom:1px solid #e3eaf4;margin:9px 0 0}.team-status-tabs>button{display:flex;gap:5px;align-items:center;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 0;font-size:12px;color:#8190a5;min-height:44px}.team-status-tabs>button[aria-pressed="true"]{border-bottom-color:#7d6ceb;color:#7463dd;font-weight:700}.team-status-tabs span{font-variant-numeric:tabular-nums}
.team-dashboard-task-list{display:block}.live-shell .team-dashboard-task-list .live-task{padding:17px 0;margin:0;border:0;border-bottom:1px solid #e3eaf4;border-radius:0;background:transparent;box-shadow:none;overflow:visible;isolation:auto}.live-shell .team-dashboard-task-list .live-task:after{display:none}.live-shell .team-dashboard-task-list .live-task:last-child{border-bottom:0}.team-dashboard-task-list .task-indicator{display:none}.live-shell .team-dashboard-task-list .task-title-row h2{font-size:15px;line-height:1.6}.team-dashboard-task-list .task-title-row{margin:3px 0 7px}.team-dashboard-task-list .task-meta{font-size:11px;color:#8090a6}.team-dashboard-task-list .task-guide summary{font-size:12px}.team-dashboard-task-list .task-guide{margin:6px 0}.team-dashboard-task-list .actions{margin-top:10px;padding-top:8px;border-top:0;gap:7px}.team-dashboard-task-list .status-chip{font-size:11px;padding:4px 8px}.team-dashboard-task-list .primary{font-size:12px!important;padding:8px 10px}.team-dashboard-task-list .assignment-controls{margin-top:10px}.team-dashboard-empty{padding:30px 4px;font-size:13px;line-height:1.8}.team-dashboard-empty>p{font-size:12px;margin:6px 0}.team-dashboard-more{width:100%;padding:13px 0 0;font-size:12px;min-height:44px}
@media(max-width:1100px){.team-cycle-card{padding:17px 13px}.team-cycle-title{gap:8px}.team-cycle-title>strong{font-size:16px}.team-cycle-icon,.team-cycle-icon .glass-icon{width:34px;height:34px}.team-cycle-count{font-size:23px}.team-cycle-count>small{font-size:12px}.team-cycle-foot{font-size:11px}}
@media(max-width:1000px){.team-dashboard-grid{grid-template-columns:1fr}.team-dashboard-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
@media(max-width:760px){.team-cycle-overview{grid-template-columns:1fr;gap:11px;margin:18px 0 23px}.team-cycle-card{display:grid;grid-template-columns:minmax(0,1fr) 138px;align-items:center;gap:11px;padding:19px 20px;border-radius:27px}.team-cycle-title{gap:12px}.team-cycle-title>strong{font-size:18px}.team-cycle-icon,.team-cycle-icon .glass-icon{width:40px;height:40px}.team-cycle-values{justify-content:flex-end;gap:10px}.team-cycle-count{font-size:22px}.team-cycle-count>small{font-size:12px}.team-cycle-caption{font-size:11px;white-space:nowrap}.team-cycle-foot{grid-column:1/-1;padding-top:9px;font-size:12px}.team-dashboard-roster{display:block}.live-shell .team-dashboard-grid>.panel{padding:21px 18px}.team-dashboard-heading{align-items:flex-start}.team-dashboard-heading h2{font-size:19px}.team-dashboard-heading p{font-size:11px}.team-dashboard-scope-actions{gap:0;max-width:135px}.team-panel-heading h2{font-size:16px}.team-dashboard-detail-tools>span{font-size:11px}.team-dashboard-person{min-height:72px}.team-person-heading b{font-size:14px}}
@media(max-width:370px){.team-cycle-card{grid-template-columns:minmax(0,1fr) 122px;padding:17px 15px;gap:9px}.team-cycle-title{gap:8px}.team-cycle-title>strong{font-size:16px}.team-cycle-icon,.team-cycle-icon .glass-icon{width:32px;height:32px}.team-cycle-count{font-size:19px}.team-cycle-values{gap:6px}.team-cycle-foot{font-size:11px}.team-dashboard-person{grid-template-columns:30px minmax(0,1fr) 36px;gap:8px;padding-left:3px;padding-right:3px}.team-person-heading b{font-size:13px}.team-person-percent{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.team-person-bar>span{transition:width .18s}.team-cycle-card{transition:box-shadow .18s,border-color .18s}}

.team-cycle-values>.glass-ring{align-self:center}
@media(min-width:761px){.team-cycle-values{flex-wrap:wrap;row-gap:10px}}
@media(max-width:760px){.team-cycle-card{grid-template-columns:minmax(0,1fr) 98px;row-gap:8px}.team-cycle-title{grid-column:1;grid-row:1}.team-cycle-title>strong{white-space:nowrap}.team-cycle-values{display:contents}.team-cycle-values>span{grid-column:1;grid-row:2;padding-left:52px}.team-cycle-values>.glass-ring{grid-column:2;grid-row:1 / span 2;width:98px;height:98px}.team-cycle-foot{grid-row:3;margin-top:5px}}
@media(max-width:370px){.team-cycle-card{grid-template-columns:minmax(0,1fr) 87px}.team-cycle-values>span{padding-left:40px}.team-cycle-values>.glass-ring{width:87px;height:87px}.team-cycle-count{font-size:18px}}

/* Role preview styles. */
.role-preview-setup{max-width:860px}.role-preview-setup>p{line-height:1.8;color:#62748f}.role-preview-setup form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.role-preview-setup label{display:grid;gap:9px;font-weight:700;color:#435571}.role-preview-setup select{width:100%;min-height:48px;min-width:0}.role-preview-setup form>button,.role-preview-setup form>p{grid-column:1/-1}.role-preview-info{border-top:1px solid #dce4f0;margin-top:26px;padding-top:24px;line-height:1.8;color:#62748f}.role-preview-info b{color:#435571}.role-preview-banner{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:15px 24px;background:#eef2ff;border-bottom:1px solid #c9d3ff;color:#354875;box-shadow:0 3px 16px #35487514}.role-preview-banner strong{display:block;font-size:16px}.role-preview-banner p{margin:5px 0 0;font-size:13px;line-height:1.6}.role-preview-banner button{white-space:nowrap;min-height:42px;padding:8px 15px;border-radius:12px;border:1px solid #c0cbef;background:white;color:#47518c;font-weight:700}.role-preview-banner .preview-banner-actions{display:flex;gap:8px}.role-preview-account{margin-left:8px;font-size:12px;color:#7486a3}@media(max-width:760px){.role-preview-setup form{grid-template-columns:1fr}.role-preview-banner{padding:12px 16px;position:relative}.role-preview-banner .preview-banner-actions{width:100%}.role-preview-banner button{flex:1}.role-preview-banner+.shell{padding-top:0}}

/* Manual guide styles. */
/* Guide styles stay within this view; the app shell and upload permissions are shared. */
.manual-workspace>.main>.admin-heading{display:none}
.manual-guide{--mg-ink:#283d58;--mg-muted:#73849c;--mg-line:#e3eaf4;color:var(--mg-ink);font-size:15px;line-height:1.8;max-width:1210px;margin:0 auto}
.manual-guide h1,.manual-guide h2,.manual-guide h3{color:var(--mg-ink);letter-spacing:-.7px;line-height:1.4;margin:0}
.manual-guide p{margin:12px 0;line-height:1.8}.manual-guide small{color:var(--mg-muted)}
.manual-guide [hidden]{display:none!important}.manual-guide button,.manual-guide a{touch-action:manipulation}.manual-guide a{color:inherit;text-decoration:none}
.manual-guide .mg-search-row{display:flex;justify-content:flex-end;margin:0 0 28px}
.manual-guide .mg-search{display:flex;align-items:center;gap:10px;background:#ffffffba;border:1px solid var(--mg-line);padding:7px 15px;border-radius:13px;width:320px;max-width:100%;box-shadow:inset 0 1px #fff}
.manual-guide .mg-search input{width:100%;min-width:0;border:0;background:transparent;padding:6px 0;font-size:13px;box-shadow:none;color:var(--mg-ink)}
.manual-guide .mg-layout{display:grid;grid-template-columns:175px minmax(0,1fr);gap:32px;align-items:start}
.manual-guide .mg-toc{position:sticky;top:30px;font-size:12px;padding-top:10px}
.manual-guide .mg-toc small{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:15px}
.manual-guide .mg-toc a{display:block;padding:8px 10px;border-left:2px solid #e0e7f1;color:#7c8ba2}
.manual-guide .mg-toc a:hover,.manual-guide .mg-toc a[aria-current]{border-color:#6579e4;color:#536bd5;background:#edf2ff80}
.manual-guide .mg-toc .mg-bulk-link{margin-top:16px;color:#339c83}.manual-guide .mg-paper{min-width:0}
.manual-guide .mg-hero{padding:4px 0 28px}.manual-guide .mg-hero h1{font-size:34px}.manual-guide .mg-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#6473e4;margin:0 0 13px}
.manual-guide .mg-lead{font-size:15px;color:var(--mg-muted)}
.manual-guide .mg-section{background:linear-gradient(135deg,#fffffff2,#ffffffb8);border:1px solid #fff;border-radius:23px;padding:30px;margin-bottom:22px;box-shadow:0 8px 24px #45628e04;scroll-margin-top:24px}
.manual-guide .mg-section:focus{outline:none}.manual-guide .mg-section:focus-visible{outline:2px solid #9baafa;outline-offset:3px}
.manual-guide .mg-sectionhead{display:flex;align-items:center;gap:12px;margin-bottom:20px}.manual-guide .mg-number{color:#93a1b8;font:13px monospace}.manual-guide .mg-section h2{font-size:23px}.manual-guide h3{font-size:17px}
.manual-guide .mg-steps{counter-reset:manualStep;padding:0;margin:22px 0;list-style:none}.manual-guide .mg-steps li{counter-increment:manualStep;position:relative;padding:0 0 23px 42px;font-size:13px;color:var(--mg-muted)}
.manual-guide .mg-steps li:last-child{padding-bottom:0}.manual-guide .mg-steps li:before{content:counter(manualStep);position:absolute;left:0;top:1px;display:grid;place-items:center;width:27px;height:27px;background:#edf1ff;border-radius:9px;color:#6375db;font-size:12px;font-weight:700}.manual-guide .mg-steps b{display:block;color:var(--mg-ink);font-size:15px;margin-bottom:3px}
.manual-guide .mg-hint{display:flex;gap:12px;padding:15px 18px;border-radius:12px;background:#eef4ff;font-size:13px;color:#576f91;margin:20px 0 0;border-left:3px solid #9bbaff}.manual-guide .mg-hint.mg-mint{background:#edf9f5;border-color:#78c5ac;color:#568276}.manual-guide .mg-hint.mg-amber{background:#fff8ea;border-color:#efd08e;color:#8d774f}
.manual-guide .mg-quickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:22px}.manual-guide .mg-quick{display:block;border:1px solid var(--mg-line);border-radius:13px;padding:18px 15px;background:linear-gradient(145deg,#fff,#f7faff);font-size:12px}.manual-guide .mg-quick b{display:block;font-size:14px;margin:7px 0}.manual-guide .mg-quick span{color:var(--mg-muted)}.manual-guide .mg-quick:hover{border-color:#b9c8ff}
.manual-guide .mg-demo{background:linear-gradient(135deg,#f2f8ff,#f8f6fc);border:1px solid #e1e8f5;border-radius:15px;padding:21px;margin-top:23px}.manual-guide .mg-demotop{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--mg-muted);margin-bottom:16px;gap:10px}
.manual-guide .mg-cyclemini{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border:1px solid #d7e1fc;background:#ffffffa0;border-radius:15px;margin-bottom:12px}
.manual-guide .mg-ring{width:65px;height:65px;flex-shrink:0;border-radius:50%;background:conic-gradient(#8a9df6 0 67%,#e5edf9 67%);padding:5px;box-shadow:0 3px 8px #8b9cc01a}.manual-guide .mg-ring>div{height:100%;display:grid;place-items:center;background:#f5f8ff;border:3px solid white;border-radius:50%;font-size:19px;font-weight:700}
.manual-guide .mg-taskdemo{display:flex;gap:14px;align-items:center;background:white;padding:16px;border-radius:12px;font-size:13px}.manual-guide .mg-taskdemo div{flex:1}.manual-guide .mg-taskdemo small{display:block;font-size:10px}
.manual-guide .mg-check{width:29px;height:29px;flex-shrink:0;padding:0;border:2px solid #b6c6e4;border-radius:8px;background:white;color:white;font-size:18px;line-height:1}.manual-guide .mg-check[aria-checked=true]{background:#6b81e9;border-color:#6b81e9}.manual-guide .mg-caption{font-size:11px;color:#8b99ae;margin-top:10px}
.manual-guide .mg-tablewrap{overflow-x:auto;margin:20px 0}.manual-guide table{border-collapse:collapse;width:100%;font-size:12px;min-width:440px}.manual-guide th,.manual-guide td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--mg-line);vertical-align:top}.manual-guide th{background:#f5f8fc;font-size:11px;color:#70829d;white-space:nowrap}.manual-guide tbody tr:last-child td{border-bottom:0}.manual-guide td:first-child{font-weight:700;white-space:nowrap}
.manual-guide .mg-twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.manual-guide .mg-minipanel{padding:18px;border:1px solid var(--mg-line);border-radius:12px}.manual-guide .mg-minipanel p{font-size:13px;color:var(--mg-muted);margin-bottom:0}
.manual-guide .mg-teamrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5eaf3;font-size:12px}.manual-guide .mg-teamrow:last-child{border:0}.manual-guide .mg-avatar{width:30px;height:30px;border-radius:50%;background:#dfe9fb;display:grid;place-items:center;font-weight:700;color:#7485bc}.manual-guide .mg-bar{height:6px;flex:1;background:#e8edf8;border-radius:8px;overflow:hidden}.manual-guide .mg-bar i{display:block;height:100%;background:#8ba4e8}
.manual-guide .mg-rolebadge{font-size:11px;color:#597bc0;background:#eef3ff;padding:3px 9px;border-radius:7px}.manual-guide .mg-adminlist{padding-left:20px;font-size:13px;color:var(--mg-muted)}.manual-guide .mg-adminlist li{margin:10px 0}.manual-guide .mg-adminlist b{color:var(--mg-ink)}
.manual-guide .mg-faq details{border-bottom:1px solid var(--mg-line);padding:15px 0}.manual-guide .mg-faq details:last-child{border:0}.manual-guide .mg-faq summary{cursor:pointer;font-size:14px;font-weight:700}.manual-guide .mg-faq details p{font-size:13px;color:var(--mg-muted);padding:0 16px}
.manual-guide .mg-bulk{border-color:#d5eee5;background:linear-gradient(150deg,#fffffff0,#f4fbf8c7)}.manual-guide .mg-bulk>.mg-eyebrow{color:#37a68b}.manual-guide .upload-panel{padding:20px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent}.manual-guide .upload-panel>h2,.manual-guide .upload-panel>.eyebrow{display:none}.manual-guide .upload-panel .upload-file{margin-top:20px}.manual-guide .upload-panel input[type=file]{max-width:100%;min-width:0;font-size:13px}.manual-guide .upload-panel .upload-steps{flex-wrap:wrap;gap:8px}.manual-guide .upload-panel .upload-steps span{font-size:12px;padding:8px 12px}.manual-guide .upload-panel .table-scroll{overflow:auto}.manual-guide .upload-panel .primary{max-width:100%;white-space:normal}
.manual-guide .mg-bottomnote{text-align:center;color:#8a98ad;font-size:11px;padding:5px 0 30px}.manual-guide .mg-search-status{font-size:12px;color:var(--mg-muted)}.manual-guide .mg-mobiletoc{display:none}
@media(max-width:1200px){.manual-guide .mg-layout{grid-template-columns:145px minmax(0,1fr);gap:22px}.manual-guide .mg-section{padding:25px}.manual-guide .mg-toc{font-size:11px}.manual-guide .mg-hero h1{font-size:30px}}
@media(max-width:1050px){.manual-guide .mg-layout{display:block}.manual-guide .mg-toc{display:none}.manual-guide .mg-mobiletoc{display:block;margin-bottom:18px;border:1px solid var(--mg-line);border-radius:12px;padding:12px 16px;background:#ffffffb8}.manual-guide .mg-mobiletoc summary{font-size:13px;font-weight:700;cursor:pointer}.manual-guide .mg-mobiletoc a{display:block;font-size:13px;color:var(--mg-muted);padding:7px}.manual-guide .mg-mobiletoc a[aria-current]{color:#536bd5}.manual-guide .mg-search-row{justify-content:flex-start;margin-bottom:20px}}
@media(max-width:700px){.manual-guide .mg-section{padding:23px 19px;border-radius:19px}.manual-guide .mg-search{width:100%}.manual-guide .mg-hero h1{font-size:29px}.manual-guide .mg-lead{font-size:14px}.manual-guide .mg-sectionhead{gap:9px}.manual-guide .mg-section h2{font-size:21px}.manual-guide .mg-twocol{grid-template-columns:1fr}.manual-guide .mg-quickgrid{grid-template-columns:1fr}.manual-guide .mg-quick{padding:13px 16px}.manual-guide .mg-quick b{margin:0 0 3px}.manual-guide .mg-quick>span:first-child{display:none}.manual-guide .mg-hint{padding:13px;font-size:12px}.manual-guide .mg-steps li{padding-left:36px}.manual-guide .mg-demo{padding:15px}.manual-guide .mg-taskdemo{padding:12px}.manual-guide .upload-panel .upload-file{padding:16px}.manual-guide .upload-panel .caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.manual-guide *{scroll-behavior:auto!important}}

.manual-guide .mg-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;margin-top:24px;padding:17px 20px;background:linear-gradient(120deg,#ffffffc9,#eaf3ffad);border:1px solid #ffffffeb;border-radius:16px;box-shadow:0 5px 18px #769ac00a;backdrop-filter:blur(12px)}
.manual-guide .mg-contact strong{display:block;color:var(--mg-ink);font-size:14px;font-weight:700}.manual-guide .mg-contact div>span{display:block;color:var(--mg-muted);font-size:12px;margin-top:4px}.manual-guide .mg-contact>a{color:#4c6bd2;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;min-width:0}.manual-guide .mg-contact>a:hover{color:#354dae}.manual-guide .mg-contact>a:focus-visible{outline:2px solid #6385ee;outline-offset:5px;border-radius:3px}
@media(max-width:700px){.manual-guide .mg-contact{padding:16px;gap:10px}.manual-guide .mg-contact>a{font-size:13px}}

.manual-guide .upload-panel .upload-file {
 grid-template-columns:minmax(0,1fr) minmax(172px,1.15fr);
 align-items:center;
 gap:12px 18px;
 margin:18px 0 8px;
 padding:16px 18px;
 border:1px solid #d7e3f0;
 border-radius:12px;
 background:#f6f9fd;
}
.upload-panel .upload-file-copy {
 display:grid;
 gap:4px;
 min-width:0;
 line-height:1.35;
}
.upload-panel .upload-file-copy strong { color:#1e3554; font-size:14px }
.upload-panel .upload-file-copy small { color:#586b85; font-size:12px }
.upload-panel .upload-file-control {
 display:flex;
 align-items:center;
 min-width:0;
 gap:10px;
}
.upload-panel .upload-file-pick {
 flex:none;
 min-height:44px;
 padding:0 14px;
 border:1px solid #c7d9ef;
 border-radius:10px;
 background:#eaf2fc;
 color:#1855a2;
 font-size:13px;
 font-weight:700;
}
.upload-panel .upload-file-pick:hover:not(:disabled) { background:#dceaf9; border-color:#a8c5e7 }
.upload-panel .upload-file-pick:focus-visible { outline:2px solid #1855a2; outline-offset:3px }
.upload-panel .upload-file-pick:disabled { opacity:.64; cursor:wait }
.upload-panel .upload-file-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#586b85; font-size:12px }
.upload-panel .upload-download {
 display:inline-flex; align-items:center; gap:12px; min-height:56px; max-width:100%;
 padding:10px 16px; border:1px solid #1855a2; border-radius:12px;
 background:#1855a2; color:#fff; text-decoration:none; line-height:1.4;
}
.upload-panel .upload-download:hover { background:#124581 }
.upload-panel .upload-download:focus-visible,
.upload-panel .upload-table:focus-visible { outline:2px solid #1855a2; outline-offset:3px }
.upload-download svg { flex:none; width:20px; height:20px }
.upload-download strong,.upload-download small { display:block }
.upload-download strong { font-size:14px }
.upload-download small { color:#dfedff; font-size:12px; font-weight:500 }
.upload-panel .upload-directory { margin-top:14px; color:#344d70; font-size:13px }
.upload-directory summary,.upload-result summary { cursor:pointer; font-weight:700 }
.upload-directory p { display:grid; grid-template-columns:minmax(65px,auto) minmax(0,1fr); gap:10px; margin:8px 0 0; overflow-wrap:anywhere }
.upload-panel #task-upload-message { margin:12px 0; color:#365475; font-size:13px }
.upload-result { margin-top:14px; padding:16px; border:1px solid #d7e3f0; border-radius:14px; background:#fff }
.upload-result summary { color:#1855a2; min-height:28px }
.upload-result p,.upload-review-head span { color:#4f6380; font-size:13px }
.upload-review-head { display:grid; gap:4px; color:#203b60 }
.upload-panel .upload-table { max-height:400px; margin:12px 0; border:1px solid #e1e9f3; border-radius:8px }
.upload-panel .upload-table table { width:100%; margin:0; min-width:430px }
.upload-panel .upload-table th[scope="row"] { background:#fff; color:#203b60; font-weight:700 }
.upload-panel .upload-table .warning { color:#9c302b; min-width:145px }
.upload-bundle-tag { display:inline-block; padding:3px 7px; border-radius:6px; background:#eaf2fd; color:#1855a2; white-space:nowrap }
@media(max-width:480px) {
 .upload-panel .upload-download { display:flex; width:100% }
 .upload-result { padding:12px }
}
@media(max-width:700px) {
 .manual-guide .upload-panel .upload-file { grid-template-columns:minmax(0,1fr); padding:14px; gap:10px }
}

/* Approved workflow UI v3. */
/* Approved workflow mockup v3: translucent cards, consistent period identity, no left accents. */
.workflow-workspace{--period-tone:#526fe0;--period-wash:#edf3ff;--period-edge:#b4c6fa;--period-light:#78c6ff;--period-deep:#6262ed;min-width:0}
.workflow-workspace[data-work-period="주간"]{--period-tone:#ad651f;--period-wash:#fff3e5;--period-edge:#edc395;--period-light:#ffc678;--period-deep:#ea9145}
.workflow-workspace[data-work-period="월간"]{--period-tone:#b84f60;--period-wash:#fff0f1;--period-edge:#edb7c0;--period-light:#ffa69f;--period-deep:#e56d85}
.workflow-shell .admin-heading{margin-bottom:18px}.workflow-workspace .team-work-heading{margin-bottom:18px;align-items:center}.workflow-workspace .page-help{margin:0;font-size:13px;color:#637794}
.workflow-cycles,.workflow-cycles.team-cycle-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 15px}
.live-shell .workflow-workspace .workflow-cycles [data-cycle]{--tone:#526fe0;--wash:#edf3ff;--edge:#b4c6fa;display:flex;flex-direction:row;align-items:center;gap:10px;text-align:left;min-height:80px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--edge) 55%,white);border-radius:17px;background:linear-gradient(125deg,#fffffff0,var(--wash));color:var(--tone);box-shadow:0 4px 15px #5b749a04;min-width:0;position:relative}
.live-shell .workflow-workspace .workflow-cycles [data-cycle="주간"]{--tone:#ad651f;--wash:#fff3e5;--edge:#edc395}.live-shell .workflow-workspace .workflow-cycles [data-cycle="월간"]{--tone:#b84f60;--wash:#fff0f1;--edge:#edb7c0}
.live-shell .workflow-workspace .workflow-cycles [data-cycle][aria-pressed=true]{border-color:var(--edge);box-shadow:0 0 0 1px var(--edge),0 6px 18px #5b749a0b}.workflow-cycles .period-icon,.workflow-cycles .period-icon .glass-icon{width:38px;height:38px;flex-shrink:0}.period-copy{display:grid;gap:5px;min-width:0}.period-copy strong{font-size:15px;white-space:nowrap}.period-copy small{font-size:12px;color:#667b96;font-weight:400}.period-selected{margin-left:auto;display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--edge);border-radius:50%;font-size:11px;flex-shrink:0}.workflow-cycles [aria-pressed=true] .period-selected{background:var(--tone);color:white;border-color:transparent}
.workflow-period{display:flex;justify-content:space-between;gap:10px;color:#637794;font-size:12px;margin-bottom:10px}.workflow-period b{color:var(--period-tone)}.workflow-period b:before{content:'●';font-size:9px;margin-right:6px}
.live-shell .workflow-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 24px;margin-bottom:14px;border:1px solid var(--period-edge);border-radius:23px;background:linear-gradient(115deg,#fffffff2,var(--period-wash));box-shadow:0 8px 22px #536f9405}
.workflow-summary-copy{display:flex;gap:15px;align-items:center;min-width:0}.workflow-summary-copy>.glass-icon{width:43px;height:43px}.workflow-summary-copy small{color:#7084a0;font-size:11px}.workflow-summary-copy h2{margin:5px 0 7px;font-size:24px;letter-spacing:-.8px}.workflow-summary-copy em{font-style:normal;color:var(--period-tone)}.workflow-summary-copy p{margin:0;font-size:12px;color:#637794}.workflow-ring-group{display:flex;align-items:center;gap:14px}.workflow-review-copy{font-size:11px;color:#71839d;line-height:1.8;text-align:right}.workflow-workspace:not(.team-dashboard) .workflow-review-copy{display:none}.workflow-summary .glass-ring{width:78px;height:78px}.workflow-summary .glass-ring strong{font-size:20px;color:var(--period-tone)}.workflow-summary .glass-ring strong small{font-size:10px}.workflow-summary .glass-ring span{font-size:8px;margin-top:4px}
.workflow-attention{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.workflow-attention button{background:#fff9f5ba;color:#a46a4d;border:1px solid #f1ded6;border-radius:11px;padding:8px 12px;font-size:12px;min-height:38px}.workflow-attention .revision{color:#ae526d;border-color:#eedce3;background:#fff7f8bb}
.workflow-list-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.workflow-status-tabs{display:flex;gap:15px}.workflow-status-tabs button{background:none;border:0;padding:8px 0;font-size:13px;color:#7b8ba2;min-height:40px}.workflow-status-tabs [aria-pressed=true]{color:#3d5577;font-weight:700}.workflow-status-tabs span{border-radius:6px;background:var(--period-tone);color:white;padding:3px 6px;font-size:10px}.workflow-search{display:flex;gap:5px;align-items:center;min-width:0}.workflow-search button{height:34px;width:34px;border:1px solid white;border-radius:10px;background:#ffffff80;color:#657d9c;font-size:22px}.workflow-search input{width:160px;min-width:0;border:1px solid #dfe7f2;background:#fff9;border-radius:9px;padding:8px 10px;font-size:12px}
.workflow-task-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}.live-shell .workflow-task-list .live-task,.live-shell .team-dashboard-task-list .live-task{padding:0;margin:0;border:1px solid #fff;border-radius:17px;background:linear-gradient(120deg,#ffffffed,#f7fbffc4);box-shadow:0 5px 18px #5b749a03;overflow:hidden;isolation:auto}.live-shell .workflow-task-list .live-task:after{display:none}.live-shell .workflow-task-list .live-task[data-review-state="수정요청"]{border-color:#ebcdd6;background:linear-gradient(120deg,#fff,#fff7f9b5)}.workflow-task-row{display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:86px}.workflow-task-copy{min-width:0;flex:1}.workflow-task-row .task-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#657890;font-size:11px;margin:0 0 6px}.workflow-badge{font-weight:700;font-size:11px;background:#eef2f7;color:#6b7a91;padding:3px 6px;border-radius:5px}.workflow-badge[data-kind=revision]{background:#fae9ef;color:#ae526d}.workflow-badge[data-kind=waiting]{background:#eaf0ff;color:#6278cc}.workflow-badge[data-kind=approved]{background:#e5f5ee;color:#488c7a}.workflow-badge[data-kind=hold]{background:#fff0d7;color:#aa7a37}
.workflow-task-details>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:16px;line-height:1.5;color:#2a3c55;min-height:25px}.workflow-task-details>summary::-webkit-details-marker{display:none}.workflow-task-details>summary:after{content:'⌄';color:#97a8bc;flex-shrink:0;font-size:13px}.workflow-task-details[open]>summary:after{content:'⌃'}.workflow-task-extra{margin-top:12px;padding-top:10px;border-top:1px solid #e6edf7;font-size:12px;color:#6d819e}.workflow-task-extra .task-guide{margin:0}.workflow-task-extra .task-guide p{margin:5px 0 10px;font-size:13px}.workflow-task-extra .actions{padding:0;border:0;margin:10px 0 0;flex-wrap:wrap}.workflow-task-extra .actions button,.workflow-task-extra .actions select{font-size:12px;padding:8px 10px;min-height:38px;border-radius:10px}
.live-shell .workflow-task-copy .workflow-reason{font-size:13px;line-height:1.6;color:#986477;margin:7px 0 0;overflow-wrap:anywhere}.live-shell .workflow-task-copy .workflow-reason.hold{color:#9e8258}
.workflow-task-row>.task-complete-toggle{height:44px;width:44px;flex:0 0 44px;display:grid;place-items:center;border:0;border-radius:13px;background:none;padding:0;touch-action:manipulation}.workflow-task-row .task-check-box{width:29px;height:29px;display:grid;place-items:center;border:1.6px solid #b7c8de;border-radius:9px;background:#fff;box-shadow:inset 0 1px 3px #677d9e08;color:white;font-size:17px}.workflow-task-row [aria-checked=true] .task-check-box{background:linear-gradient(135deg,var(--period-light),var(--period-deep));border-color:var(--period-edge)}.workflow-task-row [data-saving=true] .task-check-box{border-radius:50%;border-color:#6f91f0;border-top-color:transparent;width:21px;height:21px;animation:workflow-spin .7s linear infinite}
.workflow-completed{margin-top:14px}.workflow-completed>summary{display:flex;justify-content:space-between;padding:13px 14px;color:#70849e;font-size:12px;border:1px dashed #d6e0ee;border-radius:12px;cursor:pointer}.workflow-completed>summary span{font-size:11px}.workflow-completed[open]>.workflow-task-list{margin-top:10px}.workflow-person{width:30px;height:30px;flex-shrink:0;border:1px solid white;border-radius:10px;background:#edf3ff;color:#718bb6;display:grid;place-items:center;font-size:11px}.workflow-review-actions{display:flex;gap:8px;padding:0 18px 14px 60px}.workflow-review-actions button{min-height:42px;font-size:12px;padding:8px 13px;border-radius:10px;border:1px solid #dce7ec;background:#ffffffa0;color:#7585a1}.workflow-review-actions button:first-child{background:#edf8f1;color:#538472;border-color:#cce9da}
.workflow-review-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.workflow-review-stats button{padding:12px 16px;text-align:left;background:#ffffffaa;border:1px solid white;border-radius:14px;color:#7486a0}.workflow-review-stats [aria-pressed=true]{border-color:#b4c2fa}.workflow-review-stats span{display:block;font-size:12px;margin-bottom:5px}.workflow-review-stats strong{font-size:21px;color:#6278cc}.workflow-review-stats small{font-size:11px;margin-left:2px}.workflow-review-stats button:nth-child(2) strong{color:#b06074}.workflow-review-stats button:nth-child(3) strong{color:#aa7a37}
.workflow-workspace .team-dashboard-grid{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.workflow-workspace .team-dashboard-people{padding:18px!important}.workflow-workspace .team-dashboard-detail{min-width:0}.workflow-workspace .team-status-tabs{gap:16px;margin-bottom:12px}.workflow-workspace .team-status-tabs button{font-size:12px;white-space:nowrap}.workflow-workspace .team-dashboard-person{grid-template-columns:1fr;padding:12px 5px;gap:0}.workflow-workspace .team-dashboard-person>.person-avatar,.workflow-workspace .team-person-percent{display:none}.workflow-team-note{font-size:11px;line-height:1.7;color:#71839d;margin-top:16px}.workflow-toast{position:fixed;bottom:28px;left:calc(50% + 120px);transform:translateX(-50%);max-width:calc(100vw - 32px);display:flex;align-items:center;gap:20px;background:#344865ee;color:white;border:1px solid #ffffff40;box-shadow:0 8px 30px #263c6425;border-radius:14px;padding:14px 18px;font-size:13px;z-index:90;backdrop-filter:blur(18px)}.workflow-toast button{background:none;border:0;color:#bfdaff;white-space:nowrap;font-weight:700;padding:5px;min-height:32px}.workflow-toast span{overflow-wrap:anywhere}
@keyframes workflow-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.workflow-review-copy{display:none}.workflow-workspace .team-dashboard-grid{grid-template-columns:minmax(0,1fr) 195px}}
@media(max-width:900px){.workflow-workspace .team-dashboard-grid{display:flex;flex-direction:column}.workflow-workspace .team-dashboard-detail{width:100%}.workflow-workspace .team-dashboard-people{width:100%;order:-1;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.workflow-workspace .team-dashboard-people>.team-panel-heading{display:none}.workflow-workspace .team-dashboard-roster{display:flex;overflow:auto;gap:8px;padding-bottom:5px;max-width:100%}.workflow-workspace .team-dashboard-person{min-width:135px;min-height:55px;background:#ffffff80;border:1px solid white;border-radius:12px;padding:9px 10px}.workflow-workspace .team-person-bar{margin-top:5px}.workflow-workspace .team-person-copy>small{font-size:10px}.workflow-workspace .team-person-heading b{font-size:12px}.workflow-workspace .team-person-heading>small{font-size:10px}}
@media(max-width:760px){.workflow-shell aside .nav,.workflow-shell aside .side-note{display:none}.workflow-shell aside{padding:12px 18px;gap:0;display:flex;justify-content:space-between;align-items:center}.workflow-shell .main{padding:14px 18px 100px}.workflow-shell .top{margin-bottom:12px;min-height:28px}.workflow-shell .admin-heading{margin-bottom:10px}.workflow-shell .admin-heading .eyebrow{display:none}.workflow-shell .admin-heading h1{font-size:24px}.workflow-workspace .team-work-heading{margin-bottom:13px;gap:8px}.workflow-workspace .page-help{font-size:12px}.workflow-workspace .work-print-open{min-height:44px;padding:8px 12px;border-radius:10px}.workflow-workspace .work-team-picker{margin-bottom:12px}.workflow-cycles,.workflow-cycles.team-cycle-overview{gap:7px;margin-bottom:13px}.live-shell .workflow-workspace .workflow-cycles [data-cycle]{display:grid;grid-template-columns:25px 1fr;gap:6px;padding:10px 8px;min-height:76px;border-radius:13px}.workflow-cycles .period-icon,.workflow-cycles .period-icon .glass-icon{width:25px;height:25px}.period-copy{gap:4px}.period-copy strong{font-size:12px}.period-copy small{font-size:10px}.period-selected{position:absolute;right:5px;top:5px;width:12px;height:12px;font-size:8px;border:0}.workflow-cycles [aria-pressed=false] .period-selected{display:none}.workflow-period{font-size:11px;margin-bottom:9px}.live-shell .workflow-summary{padding:12px 13px;border-radius:19px;gap:8px;margin-bottom:11px}.workflow-summary-copy{gap:8px}.workflow-summary-copy>.glass-icon{width:32px;height:32px}.workflow-summary-copy small{font-size:9px}.workflow-summary-copy h2{font-size:20px;margin:4px 0 5px}.workflow-summary-copy p{font-size:11px}.workflow-summary .glass-ring{width:66px;height:66px}.workflow-summary .glass-ring strong{font-size:18px}.workflow-summary .glass-ring span{font-size:7px}.workflow-attention{gap:6px;margin-bottom:12px}.workflow-attention button{font-size:10px;padding:7px 10px;min-height:34px}.workflow-status-tabs{gap:13px}.workflow-status-tabs button{font-size:12px}.workflow-search input{width:105px;font-size:12px}.workflow-search button{width:32px;height:32px}.workflow-task-row{gap:8px;padding:13px 12px;min-height:79px}.workflow-task-row .task-meta{font-size:10px;gap:5px;margin-bottom:5px}.workflow-badge{font-size:10px;padding:3px 5px}.workflow-task-details>summary{font-size:15px}.live-shell .workflow-task-copy .workflow-reason{font-size:12px;margin-top:5px}.live-shell .workflow-task-list .live-task{border-radius:15px}.workflow-review-actions{padding:0 12px 12px 49px;gap:7px}.workflow-review-actions button{min-height:44px;font-size:12px;padding:8px 12px}.workflow-person{width:28px;height:28px;font-size:10px}.workflow-review-stats{gap:7px;margin-bottom:12px}.workflow-review-stats button{padding:10px 12px;border-radius:12px}.workflow-review-stats span{font-size:11px}.workflow-review-stats strong{font-size:18px}.workflow-workspace .team-panel-heading h2{font-size:14px}.workflow-workspace .team-status-tabs{gap:12px}.workflow-workspace .team-status-tabs button{font-size:11px}.workflow-workspace .team-dashboard-detail-tools{margin-top:8px}.workflow-toast{left:50%;bottom:82px;font-size:12px;padding:11px 13px;gap:10px}.workflow-shell .bottom-nav{display:flex}.workflow-shell .work-tools{margin-top:14px}}
@media(max-width:360px){.live-shell .workflow-workspace .workflow-cycles [data-cycle]{grid-template-columns:1fr;justify-items:center;text-align:center;gap:4px}.workflow-cycles .period-icon,.workflow-cycles .period-icon .glass-icon{width:23px;height:23px}.workflow-summary-copy>.glass-icon{display:none}}
@media(max-width:760px){.workflow-shell aside{flex-direction:row}.workflow-shell aside .brand{margin:0;min-width:0}.workflow-shell aside .mobile-account{margin:0;flex-shrink:0}.workflow-workspace .team-work-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.workflow-workspace .team-work-heading .page-help{flex:1;min-width:0}.workflow-workspace .team-work-actions{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.team-dashboard.workflow-workspace .team-work-heading{flex-wrap:wrap}.team-dashboard.workflow-workspace .team-work-heading .page-help{flex-basis:100%}.team-dashboard.workflow-workspace .team-work-actions{width:100%}}
@media(max-width:760px){.workflow-workspace:not(.team-dashboard) .team-work-heading{flex-wrap:nowrap}.workflow-workspace:not(.team-dashboard) .team-work-actions{width:auto}}
@media(prefers-reduced-motion:reduce){.workflow-workspace *{animation:none!important;transition:none!important}}

.work-confetti {
 position:fixed;
 inset:0;
 z-index:89;
 pointer-events:none;
 overflow:hidden;
 contain:strict;
}
.work-confetti > span {
 position:absolute;
 left:var(--burst-left);
 top:var(--burst-top);
 width:var(--particle-size);
 height:var(--particle-size);
 border-radius:1.5px;
 background:var(--particle-color);
 animation:work-confetti-burst var(--burst-time) cubic-bezier(.19,.61,.31,1) both;
}
@keyframes work-confetti-burst {
 0% {opacity:0;transform:translate(0,0) scale(.4)}
 8% {opacity:1}
 56% {opacity:1;transform:translate(calc(var(--burst-x) * .85),var(--burst-y)) rotate(var(--spin))}
 100% {opacity:0;transform:translate(var(--burst-x),calc(var(--burst-y) + 80px)) rotate(calc(var(--spin) * 1.4))}
}
@media(prefers-reduced-motion:reduce){.work-confetti{display:none}}

/* Mobile registration and roster styles. */
/* Mobile work registration and team member entry use the assignment dialog layout. */
.work-entry-actions { display:flex; gap:8px; align-items:center; flex-wrap:nowrap }
button.work-register-open { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; padding:10px 14px }
.work-register-open svg { flex:none }
dialog.quick-entry-modal {
 width:min(570px,calc(100% - 28px)); max-width:none; max-height:calc(100dvh - 28px); padding:0; border:0;
 border-radius:22px; overflow:hidden; color:#263b56; background:#fafbff; box-shadow:0 24px 75px #29385e40
}
.quick-entry-modal::backdrop { background:#23334e68; backdrop-filter:blur(4px) }
.quick-entry-form { display:grid; grid-template-rows:auto minmax(0,1fr) auto auto; max-height:calc(100dvh - 28px); margin:0 }
.quick-entry-header,.quick-entry-footer { background:#fff; display:flex; align-items:center; gap:10px; padding:12px 22px }
.quick-entry-header { justify-content:space-between; border-bottom:1px solid #e0e6f1 }
.quick-entry-header h2 { margin:0; font-size:21px; letter-spacing:-.02em }
button.quick-entry-close { display:grid; place-items:center; min-width:44px; min-height:44px; padding:0; background:transparent; border:0; color:#52627a }
button.quick-entry-close:hover { background:#f0f2fa }
.quick-entry-content { overflow-y:auto; overscroll-behavior:contain; padding:16px 22px; min-width:0 }
.quick-entry-help { margin:0 0 12px; color:#52627a; font-size:13px; line-height:1.65 }
.quick-entry-content > :last-child { margin-bottom:0 }
.quick-entry-field { display:grid; gap:6px; padding:0; margin:0 0 12px; min-width:0; border:0; color:#263b56; font-size:14px; font-weight:650 }
.quick-entry-field legend { padding:0; margin-bottom:6px }
.quick-entry-field .quick-entry-help { margin:5px 0 0; font-weight:400 }
.quick-entry-modal .quick-entry-field :is(input,select,textarea),.quick-entry-readonly {
 display:block; width:100%; min-width:0; min-height:44px; margin:0; padding:9px 11px; border:1px solid #ccd6e7;
 border-radius:10px; color:#263b56; background:#fff; font-size:16px; font-weight:400; font-family:inherit
}
.quick-entry-modal .quick-entry-field :is(input,textarea)::placeholder { color:#64728a; opacity:1 }
.quick-entry-modal .quick-entry-field textarea { resize:vertical }
.quick-entry-readonly { display:flex; align-items:center; justify-content:space-between; gap:10px; background:#eef2fa }
.quick-entry-badge { display:inline-flex; flex:none; padding:3px 9px; border-radius:999px; background:#efedff; color:#4940a7; font-size:12px; font-weight:650; white-space:nowrap }
.quick-entry-owners,.quick-entry-candidates { display:flex; flex-wrap:wrap; gap:6px }
.quick-entry-choice {
 display:flex; align-items:center; gap:7px; min-height:44px; padding:7px 10px; margin:0; border:1px solid #ccd6e7;
 border-radius:10px; background:#fff; color:#263b56; font-size:14px; font-weight:500; cursor:pointer; overflow-wrap:anywhere
}
.quick-entry-choice:has(input:checked) { background:#f1efff; border-color:#aaa4ed; color:#3630a8 }
.quick-entry-modal .quick-entry-choice input[type=checkbox] {
 appearance:auto; display:block; flex:none; width:17px; min-width:17px; height:17px; min-height:17px;
 padding:0; margin:0; accent-color:#5045d6
}
.quick-entry-extra { border-top:1px solid #e0e6f1; margin-bottom:8px }
.quick-entry-extra summary { padding:10px 0; min-height:44px; color:#344662; font-size:14px; font-weight:650; cursor:pointer }
.quick-entry-extra summary span { color:#52627a; font-weight:400 }
.quick-entry-error { padding:8px 22px; margin:0; color:#a22240; font-size:13px; max-height:96px; overflow:auto; overflow-wrap:anywhere }
.quick-entry-error:empty { display:none }
.quick-entry-footer { justify-content:flex-end; border-top:1px solid #e0e6f1; padding-bottom:max(12px,env(safe-area-inset-bottom)) }
.quick-entry-footer button,.quick-entry-mail { min-height:44px; padding:9px 14px; font-size:14px }
.quick-entry-footer button[data-entry-close] { border:1px solid #e0e6f1; border-radius:11px; background:#f1f3fa; color:#344662; font-weight:650 }
.quick-entry-footer button[data-entry-close]:hover { background:#e8ecf8 }
.quick-entry-mail { display:inline-flex; align-items:center; justify-content:center; border-radius:12px; text-decoration:none; background:#4d4dff; color:#fff; font-weight:650 }
.quick-entry-mail:hover { background:#3832c1; color:#fff }
.quick-entry-modal :is(button,input,textarea,select,summary,a):focus-visible { outline:2px solid #5a51dd; outline-offset:2px }
.quick-entry-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; margin-bottom:12px; border-radius:11px; background:#edeff9 }
.quick-entry-tabs button { min-height:42px; padding:6px; border:0; border-radius:8px; background:transparent; color:#52627a; font-size:14px; word-break:keep-all }
.quick-entry-tabs button[aria-pressed=true] { background:#fff; color:#3e37ae }
.quick-entry-candidates {
 flex-direction:column; flex-wrap:nowrap; block-size:min(225px,34dvh);
 overflow-y:auto; overscroll-behavior:contain; padding:2px
}
.quick-entry-candidates > * { flex-shrink:0 }
.quick-entry-candidate { min-height:53px }
.quick-entry-modal .quick-entry-candidate input[type=checkbox] { margin-left:auto }
.quick-entry-avatar { flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#e9edfb; color:#394992; font-size:14px; font-weight:700 }
.quick-entry-person { min-width:0; overflow-wrap:anywhere }
.quick-entry-person :is(strong,small) { display:block }
.quick-entry-person small { color:#52627a; font-size:12px; line-height:1.55 }
.quick-entry-review { padding:13px; border-radius:12px; background:#f0f2fb }
.quick-entry-review h3 { margin:0 0 7px; font-size:16px }
.quick-entry-review p,.quick-entry-review li { font-size:14px }
.quick-entry-review ul { padding-inline-start:21px }
.roster-membership,.roster-role-panel {
 --roster-blue:#1855a2;
 --roster-line:#d7e3f0;
 --roster-muted:#53657d;
}
.roster-membership { margin-bottom:14px }
.roster-membership-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; margin-bottom:12px }
.roster-membership-heading h2 { margin:0 }
.roster-member-actions { display:flex; flex-wrap:wrap; gap:8px; min-width:0 }
.roster-member-actions button { flex:1 0 auto }
.roster-team-select {
 display:grid; gap:6px; width:100%; max-width:24rem; margin:0 0 14px;
}
.roster-team-label { color:var(--roster-muted); font-size:13px; font-weight:700 }
.roster-team-control { position:relative; min-width:0 }
.roster-team-select select,.roster-team-current {
 box-sizing:border-box; display:block; width:100%; min-height:50px; margin:0;
 padding:12px 14px; border:1px solid var(--roster-line); border-radius:12px;
 background:#f5f8fc; color:#233b58; font-size:16px; font-weight:700; line-height:1.5;
}
.roster-team-select select { appearance:none; padding-inline-end:42px }
.roster-team-select select:hover { border-color:#9db8db; background:#edf4fd }
.roster-team-select select:focus-visible { border-color:var(--roster-blue); outline:2px solid var(--roster-blue); outline-offset:2px }
.roster-team-chevron {
 position:absolute; inset-block-start:50%; inset-inline-end:14px; width:18px; height:18px;
 transform:translateY(-50%); color:var(--roster-blue); pointer-events:none;
}
@media (forced-colors:active) {
 .roster-team-select select { appearance:auto; padding-inline-end:14px }
 .roster-team-chevron { display:none }
}
.roster-membership-list { margin:0; padding:0; list-style:none }
.roster-membership-list li { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:49px; padding:7px 0 }
.roster-membership-list li+li { border-top:1px solid #e0e6f1 }
.roster-membership-list .roster-member-row { gap:8px 12px; min-height:58px; padding:8px 0 }
.roster-member-identity { display:flex; align-items:center; flex-wrap:wrap; flex:1 1 110px; gap:6px 9px; min-width:0 }
.roster-member-identity .quick-entry-avatar { background:#eaf2fc; color:var(--roster-blue) }
.roster-member-identity .quick-entry-badge { color:var(--roster-muted); background:#f1f5fa; font-size:11px }
.roster-member-row>.roster-action { margin-inline-start:auto }
.roster-role-panel { margin-top:14px }
.roster-role-panel h2 { margin:0 0 4px }
.roster-role-panel>.caption { margin:0 0 12px }
.roster-role-badge { flex:none; display:inline-flex; padding:3px 8px; border-radius:999px; background:#f0f4f9; color:var(--roster-muted); font-size:11px; font-weight:700 }
.roster-role-badge.is-leader { background:#e9f2fd; color:var(--roster-blue) }
.roster-membership button.roster-action,.roster-role-panel button.roster-action,.quick-entry-modal button.roster-action {
 display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; max-width:100%;
 padding:8px 12px; border:1px solid var(--roster-line,#d7e3f0); border-radius:11px; background:#fff; color:var(--roster-blue,#1855a2);
 box-shadow:none; font-size:13px; font-weight:700; line-height:1.25; text-align:center; word-break:keep-all;
}
.roster-action svg { flex:none }
.roster-membership button.roster-action-primary { border-color:var(--roster-blue); background:var(--roster-blue); color:#fff }
.roster-membership button.roster-action-danger { border-color:#edd6db; background:#fff; color:#a53649 }
.roster-role-panel button.roster-action-neutral { color:var(--roster-muted) }
.roster-membership button.roster-action:hover:not(:disabled),.roster-role-panel button.roster-action:hover:not(:disabled),.quick-entry-modal button.roster-action:hover:not(:disabled) { background:#eff5fd }
.roster-membership button.roster-action-primary:hover:not(:disabled) { border-color:#12467e; background:#12467e }
.roster-membership button.roster-action-danger:hover:not(:disabled) { border-color:#e7b8c0; background:#fff3f5 }
button.roster-action:focus-visible { outline:2px solid #1855a2; outline-offset:2px }
.staff-handoff-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px }
.staff-handoff-tasks { display:grid; gap:6px; margin:8px 0 14px }
.staff-handoff-task,.staff-handoff-confirm {
 padding:9px 12px; border:1px solid #e1e6f2; border-radius:9px; background:#f8faff;
}
.staff-handoff-tasks .quick-entry-choice { margin:0; min-height:44px }
.staff-handoff-tasks small { display:block; margin-top:2px; color:#53647b; font-size:12px }
.staff-handoff-confirm p { margin:4px 0 0 }
@media (max-width:540px) { .roster-member-actions { flex-basis:100% } }
#roster-membership-panel .roster-membership-list { container-type:inline-size }
.roster-membership-list .roster-invite-row {
 display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 14px; padding:11px 0
}
.roster-invite-person { display:flex; align-items:center; gap:8px; min-width:0 }
.roster-invite-actions { display:flex; align-items:center; gap:8px }
.roster-invite-actions button {
 display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px;
 padding:7px 12px; border-radius:12px; font:inherit; font-size:13px; font-weight:700; white-space:nowrap
}
.roster-invite-send svg { flex:none }
.roster-invite-actions button.roster-invite-cancel { border:1px solid #e5cad4; background:#fff; color:#913957 }
.roster-invite-actions button.roster-invite-cancel:hover { background:#fff3f7 }
.roster-invite-actions button:focus-visible { outline:2px solid #5a51dd; outline-offset:2px }
.roster-invite-actions button:disabled { opacity:.65; cursor:wait }
.roster-invite-row .roster-invite-error { grid-column:1/-1; padding:0 }
.quick-entry-confirm-person {
 display:flex; align-items:center; gap:10px; padding:12px; border-radius:12px; background:#eef2fa
}
.quick-entry-footer button.quick-entry-danger {
 border:1px solid #a33456; background:#a33456; color:#fff; box-shadow:none
}
.quick-entry-footer button.quick-entry-danger:hover:not(:disabled) { background:#872846 }
@container (max-width:510px) {
 .roster-membership-list .roster-invite-row { grid-template-columns:minmax(0,1fr) }
 .roster-invite-person .quick-entry-badge { margin-inline-start:auto }
 .roster-invite-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
}
.top-controls:has(.login-approval-link) { flex-wrap:wrap; justify-content:flex-end; gap:8px }
button.login-approval-link {
 display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:none;
 min-height:44px; padding:7px 12px; white-space:nowrap;
 border:1px solid #c9c8f1; border-radius:12px; background:#f5f4ff; color:#363093; font-size:13px; font-weight:700
}
button.login-approval-link:hover:not(:disabled) { background:#ece9ff }
.login-approval-link .ui-icon { width:17px; height:17px; flex:none }
.login-approval-count {
 display:inline-grid; place-items:center; min-width:21px; height:21px; padding-inline:5px;
 border-radius:999px; background:#4e44bc; color:#fff; font-size:11px; font-variant-numeric:tabular-nums
}
.login-approval-panel #login-approval-heading { scroll-margin-top:18px }
.login-approval-panel .roster-membership-list button { margin-inline-start:auto; min-height:44px }
.login-approval-toast {
 position:fixed; inset-block-start:max(80px,env(safe-area-inset-top)); inset-inline-end:20px; z-index:91;
 display:flex; align-items:center; justify-content:space-between; gap:14px; max-width:calc(100% - 32px);
 padding:8px 10px 8px 14px; border-radius:14px; background:#fff; color:#273b56;
 box-shadow:0 6px 28px #263c6438; font-size:14px; font-weight:650
}
.login-approval-toast button {
 min-height:44px; flex:none; padding:7px 12px; border:0; border-radius:10px;
 background:#5148be; color:#fff; font-size:13px; font-weight:700
}
.login-approval-toast button:hover { background:#4339a6 }
.login-approval-link:focus-visible,.login-approval-toast button:focus-visible,#login-approval-heading:focus-visible {
 outline:2px solid #5148be; outline-offset:3px
}
.login-approval-count[hidden],.login-approval-toast[hidden] { display:none }
@media(max-width:600px) {
 .team-work-actions > .work-entry-actions { grid-column:1 / -1; justify-self:end }
 dialog.quick-entry-modal { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:18px }
 .quick-entry-form { max-height:calc(100dvh - 16px) }
 .quick-entry-header,.quick-entry-content,.quick-entry-error,.quick-entry-footer { padding-inline:16px }
 .quick-entry-header h2 { font-size:19px }
 .quick-entry-footer :is(.primary,a) { flex:1 }
 .login-approval-toast { inset-inline:16px }
}

/* Mobile home and weekly notices */
.live-shell.v2-shell {
 --v2-ink:#172746;
 --v2-blue:#254dc7;
 --v2-muted:#53657d;
 --v2-line:#e2e8f3;
 color:var(--v2-ink);
 background:#f6f8fd;
}
.v2-shell .main { background:transparent; }
.v2-shell .admin-heading h1 { color:var(--v2-ink); }
.v2-shell .admin-heading .eyebrow { color:var(--v2-muted); }
.v2-shell .nav button.active { color:var(--v2-blue); background:#ebf0ff; box-shadow:none; }
.v2-shell .main .panel { background:#fff; border-color:var(--v2-line); box-shadow:none; }
.v2-shell .main .primary {
 background:#264dca;
 border-color:#264dca;
 color:#fff;
 box-shadow:none;
}
.v2-shell .main .primary:hover { background:#1e3ea6; }
.v2-shell .main .primary:disabled { opacity:.55; }
.v2-home-shell .admin-heading[hidden] { display:none; }
.live-shell .profile-links :is(.profile-install-link,.profile-mobile-link) { display:none; }
.ios-launch-check { margin:10px 0; color:#53657d; font-size:13px; }
.ios-launch-check summary { padding:8px 0; color:#254dc7; font-weight:600; cursor:pointer; }
.ios-launch-check p { margin:0 0 6px; }

@media(min-width:761px){
 .v2-shell aside { background:#fff; border-color:var(--v2-line); }
 .v2-shell .clinic-brand { color:var(--v2-ink); }
 .v2-shell .top .crumb { color:var(--v2-muted); }
 .v2-login-shell,.v2-login-shell .login-panel { background:#fff; }
 .v2-login-shell .login-story { background:#e9edff; border-color:#dce4fa; }
 .v2-login-shell .story-copy h1,.v2-login-shell .login-panel h2 { color:#172746; }
 .v2-login-shell .google-login { background:#264dca; border-color:#264dca; color:#fff; box-shadow:none; }
 .v2-login-shell .google-login:hover { background:#1e3ea6; }
}

@media(max-width:760px){
 .live-shell.v2-shell {
  display:block;
  padding-bottom:calc(95px + env(safe-area-inset-bottom));
  background:
   radial-gradient(ellipse at 96% 0,#cfe6ffb5,transparent 38%),
   radial-gradient(ellipse at 0 48%,#d8f2ea92,transparent 45%),
   #f3f6fb;
 }
 .v2-shell > aside > :is(.nav,.side-note,.admin-navigation,[data-view="audit"]) { display:none; }
 .live-shell.v2-shell .main { padding:14px 18px 12px; }
 .v2-shell .main .top .primary {
  background:linear-gradient(135deg,#ffffffb8,#ffffff73);
  border-color:#ffffffd6; color:#7b8ba4;
  box-shadow:inset 0 1px 0 #fff;
 }
 .live-shell.v2-shell .main > .panel,
 .v2-shell .v2-home-summary,.v2-shell .v2-home-register {
  background:linear-gradient(145deg,#ffffffee,#f4f8ffb0);
  border-color:#fff;
  box-shadow:inset 0 1px 0 #ffffffd9,0 7px 20px #365a9610;
 }
 .v2-shell .manual-guide #manual-ios-install { scroll-margin-top:24px; }
 .v2-shell .manual-guide .mg-bottomnote { display:none; }
 .live-shell.v2-shell .profile-links :is(.profile-install-link,.profile-mobile-link) { display:flex; }
}

.v2-work-home {
 --home-ink:#152946;
 --home-muted:#506680;
 --home-blue:#1855a2;
 --home-line:#dfe8f2;
 display:grid;
 align-content:start;
 gap:16px;
 width:100%;
 max-width:920px;
 margin:0 auto;
 color:var(--home-ink);
}
.v2-home-summary h2,.v2-home-summary p,.v2-home-register h2,.v2-home-register p,.v2-home-management h2 { margin:0 }
.v2-home-icon { display:block; width:24px; height:24px; flex:none }
.v2-home-summary {
 display:grid;
 grid-template-columns:minmax(0,1fr);
 align-items:center;
 gap:13px;
 padding:19px;
 border:1px solid #d7e3f0;
 border-radius:20px;
 background:#fff;
 color:var(--home-ink);
}
.v2-home-summary-copy { min-width:0 }
.v2-home-summary-meta {
 display:flex;
 flex-wrap:wrap;
 gap:3px 10px;
 margin-bottom:6px;
 color:var(--home-muted);
 font-size:12px;
 font-weight:700;
 line-height:1.4;
}
.v2-home-summary h2 {
 margin:0 0 5px;
 color:inherit;
 font-size:clamp(19px,4vw,25px);
 letter-spacing:-.035em;
 line-height:1.3;
}
.v2-home-remaining {
 display:flex;
 align-items:baseline;
 flex-wrap:wrap;
 gap:2px 9px;
 color:var(--home-muted);
 font-size:14px;
 font-weight:650;
 line-height:1.12;
}
.v2-home-remaining strong { margin-right:3px; color:var(--home-ink); font-size:clamp(30px,8vw,40px); font-variant-numeric:tabular-nums; letter-spacing:-.05em }
.v2-home-progress {
 min-width:0;
 padding:12px 14px;
 border-radius:12px;
 background:#f1f6fd;
}
.v2-home-progress-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; font-size:13px; font-weight:700 }
.v2-home-progress-head strong { color:var(--home-blue); font-size:20px; font-variant-numeric:tabular-nums; letter-spacing:-.035em }
.v2-home-progress progress { display:block; appearance:none; width:100%; height:6px; margin:7px 0; border:0; border-radius:999px; overflow:hidden; background:#dae6f6; color:var(--home-blue) }
.v2-home-progress progress::-webkit-progress-bar { background:#dae6f6 }
.v2-home-progress progress::-webkit-progress-value { background:var(--home-blue); border-radius:999px }
.v2-home-progress progress::-moz-progress-bar { background:var(--home-blue); border-radius:999px }
.v2-home-progress p { margin-top:4px; color:var(--home-muted); font-size:12px; line-height:1.45 }
.v2-home-progress p span { margin-inline:3px; color:#7991af }
.v2-work-home .v2-home-summary-action {
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:14px;
 width:100%;
 min-height:44px;
 padding:9px 12px;
 border:1px solid #d7e3f0;
 border-radius:10px;
 background:#f4f8ff;
 color:var(--home-blue);
 font-size:13px;
 font-weight:700;
 text-align:left;
}
.v2-work-home .v2-home-summary-action:hover { background:#e8f1ff; border-color:#b9cee7 }
.v2-work-home .v2-home-summary-action:focus-visible { outline:2px solid var(--home-blue); outline-offset:2px }
.v2-home-summary-action .v2-home-icon,.v2-home-links button>.v2-home-icon { width:18px; height:18px }
.v2-home-register {
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:12px;
 padding:17px;
 border:1px solid var(--home-line);
 border-radius:18px;
 background:#f1f7ff;
}
.v2-home-register h2,.v2-home-management h2 { color:var(--home-ink); font-size:17px; letter-spacing:-.025em; line-height:1.35 }
.v2-home-register p { margin-top:5px; color:var(--home-muted); font-size:13px; line-height:1.55 }
.v2-work-home .v2-home-register .work-register-open {
 grid-column:1/-1;
 min-height:46px;
 margin:0;
 border:1px solid #b4cae5;
 border-radius:11px;
 background:#fff;
 color:#164f97;
}
.v2-work-home .v2-home-register .work-register-open:hover { background:#e8f2ff }
.v2-home-link-icon {
 display:grid;
 place-items:center;
 width:42px;
 height:42px;
 border-radius:12px;
 background:#e0eeff;
 color:var(--home-blue);
}
.v2-home-management h2 { margin:0 0 9px 2px }
.v2-home-links { display:grid; gap:8px }
.v2-work-home .v2-home-links button {
 display:grid;
 grid-template-columns:42px minmax(0,1fr) 18px;
 gap:10px;
 align-items:center;
 min-height:64px;
 padding:10px 13px;
 border:1px solid var(--home-line);
 border-radius:14px;
 background:#fff;
 color:var(--home-ink);
 text-align:left;
}
.v2-work-home .v2-home-links button:hover { background:#f3f8ff }
.v2-home-links button strong,.v2-home-links button small { display:block }
.v2-home-links button strong { font-size:15px }
.v2-home-links button small { margin-top:2px; color:var(--home-muted); font-size:12px }

@media (min-width:640px) {
 .v2-work-home { gap:20px }
 .v2-home-summary { grid-template-columns:minmax(0,1fr) minmax(185px,32%); column-gap:24px; row-gap:12px; padding:22px 26px }
 .v2-home-progress { grid-column:2; grid-row:1/3; padding:15px 17px }
 .v2-work-home .v2-home-summary-action { width:max-content; min-width:142px }
 .v2-home-register { grid-template-columns:auto minmax(0,1fr) auto; padding:19px }
 .v2-work-home .v2-home-register .work-register-open { grid-column:auto }
 .v2-home-links { grid-template-columns:repeat(2,minmax(0,1fr)) }
}

.weekly-notice-strip,.weekly-notice-page {
 --weekly-ink:#122749;
 --weekly-muted:#536787;
 --weekly-blue:#164cba;
 --weekly-line:#dee7f3;
}
.weekly-notice-strip {
 min-width:0;
 color:var(--weekly-ink);
 container-type:inline-size;
}
.weekly-notice-strip-top {
 display:flex;
 align-items:center;
 gap:8px;
 flex-wrap:wrap;
 margin-bottom:10px;
}
.weekly-notice-strip-top h2 { margin:0; font-size:1rem; letter-spacing:-.025em }
.weekly-notice-icon {
 display:grid;
 place-items:center;
 flex:none;
 width:34px;
 height:34px;
 color:var(--weekly-blue);
 background:#eaf2ff;
 border-radius:10px;
}
.weekly-notice-icon svg { width:19px; height:19px }
.weekly-notice-pill {
 display:inline-block;
 border-radius:999px;
 padding:3px 7px;
 font-size:.71rem;
 font-weight:750;
 line-height:1.45;
 color:#164cba;
 background:#edf4ff;
 white-space:nowrap;
}
.weekly-notice-pill.is-confirmed { color:#166247; background:#e8f6ef }
.weekly-notice-strip .weekly-notice-link {
 margin-inline-start:auto;
 padding:5px 0 5px 4px;
 min-height:36px;
 border:0;
 background:transparent;
 color:var(--weekly-blue);
 font-size:.82rem;
 font-weight:700;
 white-space:nowrap;
}
.weekly-notice-strip .weekly-notice-link span { margin-inline-start:2px; font-size:1.12rem }
.weekly-notice-banner {
 position:relative;
 border-radius:clamp(26px,3.8cqw,46px);
 background:#e1edfc;
 overflow:hidden;
}
.weekly-notice-track {
 display:flex;
 transform:translateX(var(--weekly-shift,0%));
 transition:transform .46s cubic-bezier(.22,.7,.25,1);
}
.weekly-notice-slide {
 box-sizing:border-box;
 flex:0 0 100%;
 min-width:0;
 display:grid;
 grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);
 align-items:center;
 gap:3cqw;
 min-height:max(304px,43.81cqw);
 padding:4.5cqw 7.73cqw;
}
.weekly-notice-banner-copy { min-width:0 }
.weekly-notice-banner-copy h3,.weekly-notice-banner-copy p { margin:0 }
.weekly-notice-banner-copy .weekly-notice-banner-date {
 margin-bottom:1.25cqw;
 color:#006cff;
 font-size:clamp(.9rem,2.32cqw,1.72rem);
 font-weight:700;
 letter-spacing:-.02em;
}
.weekly-notice-banner-copy h3 {
 color:#101418;
 font-size:clamp(1.65rem,4.36cqw,3.2rem);
 font-weight:750;
 line-height:1.36;
 letter-spacing:-.04em;
 white-space:pre-line;
 -webkit-line-clamp:2;
}
.weekly-notice-banner-copy .weekly-notice-banner-summary {
 margin-top:2.1cqw;
 color:#49535e;
 font-size:clamp(.92rem,2.28cqw,1.65rem);
 line-height:1.6;
 white-space:pre-line;
 -webkit-line-clamp:2;
}
.weekly-notice-banner-copy h3,.weekly-notice-banner-summary {
 display:-webkit-box;
 -webkit-box-orient:vertical;
 overflow:hidden;
 word-break:keep-all;
 overflow-wrap:anywhere;
}
.weekly-notice-banner-copy .weekly-notice-banner-empty {
 color:#263b56;
 font-size:clamp(1.1rem,3vw,1.6rem);
 line-height:1.4;
 font-weight:750;
 letter-spacing:-.035em;
 word-break:keep-all;
}
.weekly-notice-strip .weekly-notice-banner-detail {
 margin-top:2.65cqw;
 padding:0 clamp(18px,3cqw,36px);
 min-height:clamp(44px,5.58cqw,65px);
 border:1px solid #9ca9b8;
 border-radius:clamp(12px,1.55cqw,18px);
 background:transparent;
 color:#101418;
 font-size:clamp(.85rem,1.9cqw,1.38rem);
 font-weight:550;
 white-space:nowrap;
}
.weekly-notice-strip .weekly-notice-banner-detail:hover { border-color:#627e9c; background:#ffffff6b }
.weekly-notice-strip .weekly-notice-banner-art {
 display:grid;
 place-items:center;
 min-width:0;
 width:100%;
 height:clamp(180px,34.3cqw,400px);
 padding:0;
 border:0;
 border-radius:16px;
 background:transparent;
}
.weekly-notice-banner-art img {
 display:block;
 width:100%;
 height:100%;
 min-height:0;
 object-fit:contain;
}
.weekly-notice-controls {
 position:absolute;
 right:2.58cqw;
 bottom:2.58cqw;
 display:flex;
 align-items:center;
 gap:1px;
 padding:0 clamp(5px,1cqw,12px);
 border-radius:999px;
 background:#555e65;
 color:#fff;
 font-size:clamp(.82rem,1.78cqw,1.24rem);
 font-variant-numeric:tabular-nums;
}
.weekly-notice-strip .weekly-notice-controls button {
 display:grid;
 place-items:center;
 width:clamp(34px,3.35cqw,40px);
 min-width:0;
 min-height:clamp(36px,3.86cqw,45px);
 padding:0;
 border:0;
 border-radius:999px;
 background:transparent;
 color:#fff;
}
.weekly-notice-strip .weekly-notice-controls button:hover { background:#ffffff26 }
.weekly-notice-strip .weekly-notice-controls button:focus-visible { outline:2px solid #fff; outline-offset:-4px }
.weekly-notice-strip .weekly-notice-link:hover { color:#092b78 }
.weekly-notice-position { display:flex; align-items:center; gap:6px; color:#e1e4e7 }
.weekly-notice-position strong { color:#fff }
.weekly-notice-position>span { width:1px; height:11px; background:#ffffff60 }
.weekly-notice-arrow {
 width:8px;
 height:8px;
 border-top:2px solid currentColor;
 border-right:2px solid currentColor;
 transform:translateX(-2px) rotate(45deg);
}
.weekly-notice-arrow.is-previous { transform:translateX(2px) rotate(-135deg) }
.weekly-notice-playback { width:10px; height:12px; border-inline:3px solid currentColor }
.weekly-notice-playback.is-paused { width:0; height:0; border:6px solid transparent; border-left:9px solid currentColor; border-right:0 }
@media (prefers-reduced-motion:reduce) { .weekly-notice-track { transition:none } }
.weekly-notice-page { display:grid; gap:10px; color:var(--weekly-ink) }
.weekly-notice-page-head {
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 margin-bottom:3px;
}
.weekly-notice-page-head h2 { margin:0 0 4px; color:var(--weekly-ink); letter-spacing:-.035em; font-size:1.15rem }
.weekly-notice-page-head p,.weekly-notice-empty {
 margin:0;
 color:var(--weekly-muted);
 font-size:.85rem;
}
.weekly-notice-page>.weekly-notice-empty { padding:14px; border:1px solid var(--weekly-line); background:#fff; border-radius:12px }
.weekly-notice-item {
 min-width:0;
 background:#fff;
 border:1px solid var(--weekly-line);
 border-radius:14px;
}
.weekly-notice-item summary {
 position:relative;
 display:grid;
 gap:6px;
 padding:14px 44px 14px 15px;
 cursor:pointer;
 list-style:none;
 overflow-wrap:anywhere;
 scroll-margin-top:18px;
}
.weekly-notice-item summary::-webkit-details-marker { display:none }
.weekly-notice-item summary::after {
 content:'';
 position:absolute;
 inset-inline-end:19px;
 top:calc(50% - 4px);
 width:8px;
 height:8px;
 border-right:2px solid var(--weekly-blue);
 border-bottom:2px solid var(--weekly-blue);
 transform:rotate(45deg);
}
.weekly-notice-item[open] summary::after { transform:rotate(225deg) }
.weekly-notice-meta {
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:5px 9px;
 color:var(--weekly-muted);
 font-size:.76rem;
}
.weekly-notice-item summary strong { color:var(--weekly-ink); font-size:1rem; font-weight:800 }
.weekly-notice-body { padding:14px 15px; border-top:1px solid var(--weekly-line); overflow-wrap:anywhere }
.weekly-notice-body h3 { color:var(--weekly-ink); margin:0 0 6px; font-size:.85rem; font-weight:800 }
.weekly-notice-body p { margin:0; white-space:pre-wrap; font-size:.94rem; line-height:1.65 }
.weekly-notice-detail-image:not([hidden]) {
 display:block;
 max-width:100%;
 max-height:280px;
 margin:0 0 15px;
 border-radius:12px;
 object-fit:contain;
}
.weekly-notice-body .weekly-notice-resource {
 display:inline-flex;
 align-items:center;
 gap:7px;
 min-height:44px;
 max-width:100%;
 margin-top:13px;
 padding:9px 13px;
 border:1px solid #b0c5e3;
 border-radius:10px;
 background:#edf5ff;
 color:#174e9f;
 font-size:.85rem;
 font-weight:750;
 text-decoration:none;
}
.weekly-notice-body .weekly-notice-resource:hover { background:#deedff; border-color:#8dabd3 }
.weekly-notice-resource:focus-visible,.weekly-notice-banner-detail:focus-visible,.weekly-notice-banner-art:focus-visible { outline:2px solid #164cba; outline-offset:2px }
.weekly-notice-points { margin-top:12px; padding:11px 13px; border-radius:9px; background:#f0f5ff }
.weekly-notice-points ul { margin:0; padding-inline-start:18px; display:grid; gap:4px; line-height:1.6 }
.weekly-notice-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:11px }
.weekly-notice-actions:empty { display:none }
.weekly-notice-actions button,.weekly-notice-page-head button { min-height:42px }
.weekly-notice-count { color:var(--weekly-muted); font-size:.82rem; padding:5px 3px }
.weekly-notice-problem { padding:11px 13px; border-radius:9px; background:#fff2eb; color:#834220 }
.weekly-notice-problem p { margin:0 0 7px }
.weekly-notice-targets>div:not([hidden]) { display:flex; flex-wrap:wrap; gap:7px; margin-top:5px }
.weekly-notice-targets>div[hidden] { display:none }
.quick-entry-field.weekly-notice-media-fields { gap:9px; padding:10px 12px 12px; border:1px solid #dee7f3; border-radius:12px; background:#f7faff }
.weekly-notice-media-fields legend { padding-inline:4px; margin-bottom:0 }
.weekly-notice-media-fields legend small { color:#52627a; font-weight:500 }
.weekly-notice-media-fields .quick-entry-field { margin:0 }
@media (pointer:coarse) {
 .weekly-notice-strip .weekly-notice-link,.weekly-notice-strip .weekly-notice-controls button,.weekly-notice-actions button { min-height:44px }
 .weekly-notice-strip .weekly-notice-controls button { width:44px }
}
@container (max-width:620px) {
 .weekly-notice-banner { border-radius:22px }
 .weekly-notice-slide { grid-template-columns:minmax(0,1.36fr) minmax(0,1fr); min-height:208px; gap:5px; padding:20px 17px }
 .weekly-notice-banner.has-controls .weekly-notice-slide { padding-bottom:54px }
 .weekly-notice-banner-copy .weekly-notice-banner-date { margin-bottom:7px; font-size:.77rem }
 .weekly-notice-banner-copy h3 { font-size:clamp(1.1rem,5.6cqw,1.7rem); line-height:1.28; -webkit-line-clamp:3 }
 .weekly-notice-banner-copy .weekly-notice-banner-summary { margin-top:8px; font-size:.83rem }
 .weekly-notice-strip .weekly-notice-banner-detail { margin-top:12px; padding-inline:12px; font-size:.8rem }
 .weekly-notice-strip .weekly-notice-banner-art { height:clamp(110px,38cqw,205px) }
 .weekly-notice-controls { right:12px; bottom:9px }
}
@media (max-width:420px) {
 .weekly-notice-strip-top { gap:5px }
 .weekly-notice-strip-top h2 { font-size:.92rem }
 .weekly-notice-icon { width:29px; height:29px }
 .weekly-notice-icon svg { width:17px; height:17px }
 .weekly-notice-strip .weekly-notice-link { font-size:.76rem }
}
