:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--mobile-nav-height: 104px;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;color:#181818;background:#fcfcfc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #dedede;background:#fff;color:#252525;border-radius:8px;padding:8px 14px;min-height:40px}button:hover{background:#f2f2f2}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #555;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.35;letter-spacing:-.5px}h2{font-size:19px;font-weight:700}ul{list-style:none;padding:0;margin:0}svg{flex-shrink:0}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;background:#fff;color:#242424;border:1px solid #dcdcdc;border-radius:8px;padding:10px 12px;min-height:44px;max-width:100%}input[type=date]{appearance:none;-webkit-appearance:none;min-inline-size:0;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}textarea{resize:vertical}label{min-width:0;display:flex;flex-direction:column;gap:7px;font-size:14px;color:#555}fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:18px}.muted{color:#717171}.small{font-size:13px}.primary{background:#1c1c1c;color:#fff;border-color:#1c1c1c;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary:hover{background:#383838}.text-button{border:0;background:transparent;padding:6px 8px}.danger{color:#9a4646}.text-link{font-size:14px;text-decoration:none;color:#666}.text-link:hover{text-decoration:underline}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;text-decoration:none;font-size:26px;border-radius:8px}.icon-button:hover{background:#f1f1f1}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:21px;font-weight:700}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #ededed;position:sticky;top:0;z-index:1;background:#fcfcfc}.app-shell{min-height:100dvh}.navigation{overflow-y:auto;position:fixed;top:75px;bottom:0;left:0;width:200px;padding:28px 16px;border-right:1px solid #ececec;background:#fcfcfc}.navigation h2{font-size:14px;color:#888;margin:0 14px 16px}.nav-links{display:flex;flex-direction:column;gap:8px}.nav-links a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:9px;text-decoration:none;color:#707070;min-height:48px}.nav-links a[aria-current=page]{background:#efefef;color:#181818;font-weight:600}.nav-links a:hover{background:#f2f2f2}main{margin-left:200px;padding:32px 36px 60px;max-width:1600px;min-width:0;outline:none}.page-heading{margin-bottom:18px}.page-heading p{margin-top:8px}.date-text{color:#696969;font-size:16px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-card{background:#f2f2f2;border-radius:15px;padding:12px 16px;min-height:100px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.stat-card strong{font-size:29px;line-height:1.3}.stat-card span{font-size:16px;color:#686868}.section{margin-top:29px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2,.page-heading,.modal-heading h2{min-width:0;overflow-wrap:anywhere}.work-list{display:flex;flex-direction:column;gap:0}.work-list>li{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px}.check-label{min-height:44px;font-size:17px;display:flex;flex-direction:row;align-items:center;gap:12px;color:#242424;min-width:0;cursor:pointer;overflow-wrap:anywhere}.check-label input{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex-shrink:0;margin:0;border:1px solid #ccc;border-radius:50%;display:grid;place-content:center;background:#fff;cursor:pointer}.check-label input:checked{background:#1b1b1b;border-color:#1b1b1b}.check-label input:checked:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.check-label input:disabled{cursor:default}.work-done{color:#555}.deadline-section{border-top:1px solid #eaeaea;padding-top:22px}.deadline-list{margin-top:12px}.deadline-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;font-size:15px;border-bottom:1px solid #f0f0f0;overflow-wrap:anywhere}.deadline-list time{flex-shrink:0;font-size:13px}.deadline-list li>span{min-width:0}.overdue{color:#a3483d}.empty{text-align:center;background:#f6f6f6;border-radius:12px;padding:36px 16px;color:#777;font-size:15px}.empty p{margin-bottom:12px}.empty a{color:#333;text-underline-offset:4px}.empty-line{padding:20px 0}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading-row>.primary{flex-shrink:0}.filters{background:#f5f5f5;border-radius:12px;padding:16px;display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 12px}.task-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}.task-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:18px}.task-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.task-actions button{font-size:13px;min-height:36px;padding:5px 10px}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:12px;color:#777;margin:12px 0 0 34px}.task-meta>span{max-width:100%;overflow-wrap:anywhere}.tag{padding:3px 8px;background:#f2f2f2;color:#555;border-radius:5px}.priority-high{color:#a3483d}.priority-medium{color:#8a6b36}.priority-low{color:#647968}.task-notes{white-space:pre-wrap;overflow-wrap:anywhere;color:#777;font-size:14px;margin:12px 0 0 34px}.panel{min-width:0;border:1px solid #e8e8e8;background:#fff;border-radius:12px;padding:22px}.daily-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:20px;margin-top:24px}.daily-layout>div{min-width:0}.daily-layout .section-heading{flex-wrap:wrap;align-items:flex-end}.daily-date{font-size:18px;margin:22px 0 4px}.date-picker{max-width:200px;flex:1 1 150px}.daily-form{border-top:1px solid #eee;margin-top:18px;padding-top:22px}.daily-form .primary{align-self:flex-start}.work-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.work-actions button{font-size:13px}.history{align-self:start}.history h2{margin-bottom:16px}.history li+li{margin-top:5px}.history button{display:flex;width:100%;justify-content:space-between;gap:10px;font-size:13px;flex-wrap:wrap;text-align:left;border:0;background:transparent}.history button.history-selected{background:#f2f2f2;color:#171717}.settings-panel{margin-top:22px}.settings-panel>p{margin-top:10px;font-size:14px}.category-list{margin:16px 0}.category-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.category-list li>span{overflow-wrap:anywhere;min-width:0}.category-form{display:flex;align-items:flex-end;gap:10px;margin-top:20px}.category-form label{flex:1}.category-form button{min-height:44px;flex-shrink:0}dialog{width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 40px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);border:1px solid #e1e1e1;border-radius:16px;background:#fff;padding:24px;color:#222;box-shadow:0 16px 80px #0002;overflow:auto;overscroll-behavior:contain;scroll-padding-block:16px}dialog::backdrop{background:#0005}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.form-stack{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;flex-wrap:wrap}.confirm-copy{font-size:15px;line-height:1.8;margin-bottom:24px;overflow-wrap:anywhere}.error-banner{overflow-wrap:anywhere;flex-wrap:wrap;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:20px;border:1px solid #e8bfbf;border-radius:8px;background:#fff6f6;color:#923e3e;font-size:14px}.form-error{color:#923e3e;font-size:14px}.error-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);z-index:5;background:#fff5f5;border:1px solid #ddb9b9;border-radius:10px;padding:10px 14px;box-shadow:0 4px 22px #0001;display:flex;align-items:center;gap:12px;font-size:14px;max-width:calc(100% - 24px);width:max-content;overflow-wrap:anywhere}.error-toast button{border:0;background:transparent;padding:2px 8px}.skip-link{position:fixed;top:-60px;left:10px;z-index:10;padding:10px;background:#fff;clip-path:inset(50%)}.skip-link:focus{top:8px;clip-path:none}@media(min-width:1440px){main{margin-right:auto;padding-left:48px;padding-right:48px}.navigation{width:220px}main{margin-left:220px}}@media(max-width:1100px){.daily-layout{grid-template-columns:minmax(0,1fr)}.history ul{display:flex;flex-wrap:wrap;gap:8px}.history li+li{margin-top:0}.history button{gap:14px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation{width:170px}main{margin-left:170px;padding:28px 24px 60px}.topbar{padding:0 24px}}@media(max-width:767px),(max-width:1023px)and (max-height:500px)and (pointer:coarse){html{scroll-padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 24px)}.topbar{height:calc(64px + var(--safe-top));border-bottom:0;padding:var(--safe-top) max(13px,var(--safe-right)) 0 max(13px,var(--safe-left))}.brand{font-size:19px;gap:6px;flex-shrink:0}.brand svg{width:22px;height:22px}.topbar>.icon-button{width:30px;height:34px}.topbar>.icon-button svg{width:18px;height:18px}main{margin:0;padding:8px max(13px,var(--safe-right)) calc(var(--mobile-nav-height) + var(--safe-bottom) + 24px) max(13px,var(--safe-left));max-width:none}.page-heading{margin-bottom:8px}h1{font-size:28px}.page-heading p{margin-top:6px}.stats{gap:9px}.stat-card{padding:9px 10px 8px;min-height:93px;border-radius:15px;gap:16px}.stat-card strong{font-size:28px}.stat-card span{font-size:15px}.section{margin-top:27px}.work-list>li{min-height:43px}.check-label{font-size:17px;gap:12px}.navigation{inset:auto 0 0;width:auto;height:calc(var(--mobile-nav-height) + var(--safe-bottom));padding:0 max(12px,var(--safe-right)) var(--safe-bottom) max(12px,var(--safe-left));overflow:visible;border:0;background:#fcfcfc;z-index:2}.navigation h2{color:#1b1b1b;font-size:17px;margin:0;padding:7px 0;height:40px;line-height:25px;border-top:1px solid #ededed}.nav-links{flex-direction:row;gap:0;justify-content:space-around;height:64px}.nav-links a{flex:1;min-width:0;flex-direction:column;gap:2px;padding:6px 2px;justify-content:center;font-size:14px;border-radius:0;min-height:64px}.nav-links a[aria-current=page]{background:transparent;color:#161616;font-weight:400}.nav-links a:hover{background:#f5f5f5}.nav-links a svg{width:23px;height:23px}.heading-row{padding-top:5px;align-items:flex-start;margin-bottom:18px}.heading-row p{font-size:13px}.heading-row>.primary{font-size:14px;min-height:44px;padding:7px 10px}.heading-row>.primary svg{width:17px;height:17px}.filters{padding:12px;gap:10px;margin-top:18px}.task-card{padding:14px 12px}.task-top{align-items:flex-start;flex-wrap:wrap}.task-top .check-label{flex:1;min-width:130px}.task-actions{gap:3px}.task-meta,.task-notes{margin-left:34px}.daily-layout{margin-top:20px;gap:16px}.panel{padding:16px}.section-heading{gap:8px}.section-heading>button{font-size:13px;padding:8px}.daily-layout .section-heading>button{flex:1 1 120px}.daily-date{font-size:17px}.category-list li{flex-wrap:wrap;gap:7px}.category-list .task-actions{margin-left:auto}.category-form{flex-wrap:wrap}.category-form label{flex-basis:180px}.deadline-list li{align-items:flex-start}.deadline-list time{max-width:45%;text-align:right}.work-actions .muted{display:none}dialog{padding:18px}.form-grid{gap:12px}.error-toast{bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 12px)}.page-heading>p{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.modal-error{margin-bottom:16px}.data-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:18px 0 12px}.file-label{gap:6px;max-width:100%}.file-label input[type=file]{max-width:100%;padding:8px;font-size:13px}.automatic-backup{border-top:1px solid #eee;margin-top:20px;padding-top:18px}.automatic-backup h3{font-size:15px;margin:0 0 8px}.automatic-backup p{margin-bottom:10px}.data-management>.form-error{margin-top:12px}.import-filename{overflow-wrap:anywhere;color:#666;font-size:14px}.import-summary{margin:16px 0 20px;font-size:14px}.import-summary>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.import-summary dt{color:#717171;flex-shrink:0}.import-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.import-modes{gap:12px}.import-modes legend{margin-bottom:12px;font-size:15px;font-weight:600}.import-modes label{flex-direction:row;align-items:flex-start;padding:12px;border:1px solid #e6e6e6;border-radius:8px;cursor:pointer}.import-modes input[type=radio]{width:18px;min-height:18px;margin:2px 4px 0 0;accent-color:#222;flex-shrink:0}.import-modes strong{display:block;color:#222;margin-bottom:4px}.import-note{margin:16px 0}.header-user{display:flex;align-items:center;gap:8px;min-width:0}.current-user{display:block;min-height:44px;line-height:44px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;font-size:14px}.header-user>button{white-space:nowrap;font-size:13px}.account-header{padding:calc(24px + var(--safe-top)) max(30px,var(--safe-right)) 24px max(30px,var(--safe-left));border-bottom:1px solid #ededed}.account-main{margin:0 auto;padding:40px 24px;max-width:1080px}.account-main .page-heading{margin-bottom:26px}.welcome-panel{max-width:480px}.welcome-panel h2{margin-bottom:22px}.user-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.user-card{border:1px solid #e6e6e6;border-radius:12px;padding:10px;background:#fff}.user-card-entry{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:0;padding:18px;text-align:left;overflow-wrap:anywhere}.user-card-entry strong{font-size:18px;max-width:100%}.user-avatar{background:#f1f1f1;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:20px}.user-card>.text-button{margin-left:9px;color:#777;font-size:13px}.create-account-button{margin-top:22px}.account-note{margin-top:30px}.migration-notice{padding:12px;background:#f5f5f5;border-radius:8px;font-size:14px;color:#555}.password-form{max-width:480px;margin-top:20px}.preference-field{max-width:300px;margin-top:18px}.delete-user-button{margin-top:18px}.user-management-link{display:inline-block;margin-top:14px;font-size:14px;text-underline-offset:4px}.import-target{overflow-wrap:anywhere;margin:12px 0 6px}.assignment-confirm{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;background:#f5f5f5;border-radius:8px}.assignment-confirm input{flex-shrink:0;width:18px;height:18px;margin:2px 0;accent-color:#222}@media(max-width:1099px){.user-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px),(max-width:1023px)and (max-height:500px)and (pointer:coarse){.account-header{padding:calc(16px + var(--safe-top)) max(16px,var(--safe-right)) 16px max(16px,var(--safe-left))}.account-main{padding:28px max(16px,var(--safe-right)) calc(28px + var(--safe-bottom)) max(16px,var(--safe-left))}.account-main h1{font-size:25px}.user-cards{grid-template-columns:1fr}.header-user{gap:2px;max-width:none;flex:1;justify-content:flex-end}.current-user{max-width:110px;font-size:13px;min-width:0;min-height:44px;line-height:44px}.header-user>button{padding:5px;font-size:12px;flex-shrink:0}.header-user>.icon-button{width:44px;min-width:44px;height:44px}.header-user>.icon-button svg{width:18px;height:18px}}@media(max-width:480px){.form-grid,.user-cards{grid-template-columns:minmax(0,1fr)}.current-user{max-width:64px}.check-label{flex:1}.work-list>li{align-items:flex-start}.work-actions{align-self:flex-start}}@media(pointer:coarse),(max-width:1100px){button,.task-actions button,.work-actions button{min-height:44px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.file-label input[type=file]{font-size:16px}.icon-button{min-width:44px;min-height:44px}.text-link,.user-management-link{display:inline-flex;align-items:center;min-height:44px}}@media(max-width:1023px)and (max-height:500px)and (pointer:coarse){:root{--mobile-nav-height: 64px}.navigation h2{display:none}}
