.projects-root{--o-50:#fff7ed;--o-100:#ffedd5;--o-200:#fed7aa;--o-300:#fdba74;--o-400:#fb923c;--o-500:#f97316;--o-600:#ea580c;--o-700:#c2410c;--o-800:#9a3412;--o-900:#7c2d12;--ink:#3a2410;--ink-soft:#8a6d52;--line:#f0e3d6;--board-bg:#fdf4ec;--card:#ffffff;--green:#16a34a;--amber:#d97706;--red:#dc2626;--sky:#0284c7;--violet:#7c3aed;--shadow-card:0 1px 2px rgba(124,45,18,0.08),0 1px 8px rgba(124,45,18,0.05);--shadow-lift:0 8px 24px rgba(194,65,12,0.18),0 2px 6px rgba(124,45,18,0.1);--font:"Noto Sans JP","Inter",system-ui,sans-serif;--num:"Inter","Noto Sans JP",sans-serif;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,#ffe6cf 0,transparent 55%),radial-gradient(900px 600px at -5% 110%,#ffeede 0,transparent 50%),var(--board-bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"palt" 1}.projects-root .topbar{height:58px;display:flex;align-items:center;gap:18px;padding:0 20px;background:rgba(255,251,247,.92);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);flex-shrink:0;z-index:50}.projects-root .tb-left{display:flex;align-items:center;gap:12px;min-width:max-content}.projects-root .tb-logo{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.5px;text-decoration:none;color:var(--ink)}.projects-root .tb-logo .mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--o-500),var(--o-700));display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;box-shadow:0 2px 8px rgba(234,88,12,.4)}.projects-root .tb-back{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:6px 11px;border-radius:9px;transition:.16s}.projects-root .tb-back:hover{background:var(--o-50);color:var(--o-700)}.projects-root .tb-right{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:max-content}.projects-root .tb-user{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:30px;cursor:pointer;transition:.16s;color:var(--ink)}.projects-root .tb-user:hover{background:var(--o-50)}.projects-root .tb-ava{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#fb923c,#c2410c);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.projects-root .tb-uname{font-size:13px;font-weight:600}.projects-root .page-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.projects-root .toolbar{padding:16px 24px 14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex-shrink:0}.projects-root .title-block{display:flex;align-items:center;gap:14px;min-width:max-content}.projects-root .title-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--o-400),var(--o-600));display:grid;place-items:center;color:#fff;font-size:21px;box-shadow:0 6px 16px rgba(234,88,12,.35)}.projects-root .title-block h1{font-size:21px;font-weight:800;letter-spacing:-.2px}.projects-root .title-block .sub{font-size:12px;color:var(--ink-soft);font-weight:500;margin-top:1px}.projects-root .tb-spacer{flex:1}.projects-root .filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.projects-root .chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);background:#fff;border:1px solid var(--line);transition:.16s;white-space:nowrap;font-family:var(--font)}.projects-root .chip:hover{border-color:var(--o-300);color:var(--o-700);background:var(--o-50)}.projects-root .chip.active{background:var(--o-600);color:#fff;border-color:var(--o-600);box-shadow:0 4px 12px rgba(234,88,12,.3)}.projects-root .chip .cnt{font-family:var(--num);font-size:11px;font-weight:700;background:rgba(0,0,0,.06);padding:1px 6px;border-radius:20px}.projects-root .chip.active .cnt{background:rgba(255,255,255,.25)}.projects-root .btn-new{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 18px;border:0;border-radius:11px;cursor:pointer;font-family:var(--font);font-size:13.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--o-500),var(--o-700));box-shadow:0 6px 16px rgba(234,88,12,.38);transition:.16s}.projects-root .btn-new:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(234,88,12,.46)}.projects-root .btn-new .plus{font-size:17px;line-height:1}.projects-root .board-wrap{flex:1;overflow-x:auto;overflow-y:hidden;padding:6px 24px 24px}.projects-root .board{display:flex;gap:16px;height:100%;align-items:flex-start;min-width:max-content}.projects-root .col{width:300px;flex:0 0 300px;display:flex;flex-direction:column;max-height:100%;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.3));border:1px solid #f3e2d2;backdrop-filter:blur(3px)}.projects-root .col-head{padding:14px 14px 11px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0}.projects-root .col-title-row{display:flex;align-items:center;gap:9px}.projects-root .col-accent{width:9px;height:9px;border-radius:50%;flex-shrink:0}.projects-root .col-name{font-size:13.5px;font-weight:800;letter-spacing:.2px}.projects-root .col-count{font-family:var(--num);font-size:11px;font-weight:700;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:1px 8px;border-radius:20px}.projects-root .col-sum{display:flex;align-items:baseline;gap:6px;font-size:11px;color:var(--ink-soft);font-weight:600}.projects-root .col-sum .amt{font-family:var(--num);font-size:15px;font-weight:800;color:var(--ink)}.projects-root .col-prog{height:4px;border-radius:4px;background:#f0e3d6;overflow:hidden;margin-top:2px}.projects-root .col-prog i{display:block;height:100%;border-radius:4px}.projects-root .cards{flex:1;overflow-y:auto;padding:4px 11px 12px;display:flex;flex-direction:column;gap:11px}.projects-root .cards::-webkit-scrollbar{width:7px}.projects-root .cards::-webkit-scrollbar-thumb{background:#ecd6c2;border-radius:10px}.projects-root .cards::-webkit-scrollbar-thumb:hover{background:var(--o-300)}.projects-root .card{background:var(--card);border-radius:13px;padding:13px;box-shadow:var(--shadow-card);border:1px solid #f6ece2;transition:transform .14s,box-shadow .14s,border-color .14s;position:relative}.projects-root .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--o-200)}.projects-root .card-top{display:flex;align-items:center;gap:7px;margin-bottom:9px}.projects-root .cat{font-size:10.5px;font-weight:700;letter-spacing:.3px;padding:2px 8px;border-radius:6px}.projects-root .cat.insp{background:#dbeafe;color:#1d4ed8}.projects-root .cat.const{background:#fef3c7;color:#92400e}.projects-root .cat.train{background:#ede9fe;color:#6d28d9}.projects-root .cat.maint{background:#dcfce7;color:#15803d}.projects-root .cat.other{background:#f1f5f9;color:#475569}.projects-root .card-id{font-family:var(--num);font-size:10.5px;font-weight:600;color:#c2a98f;margin-left:auto}.projects-root .card-title{font-size:14px;font-weight:700;line-height:1.4;margin-bottom:4px}.projects-root .card-org{font-size:11.5px;color:var(--ink-soft);font-weight:500;margin-bottom:11px;display:flex;align-items:center;gap:5px}.projects-root .card-org a{color:var(--ink-soft);text-decoration:none;transition:color .14s}.projects-root .card-org a:hover{color:var(--o-600);text-decoration:underline}.projects-root .card-amt{font-family:var(--num);font-size:18px;font-weight:800;letter-spacing:-.3px;margin-bottom:10px}.projects-root .card-amt .yen{font-size:12px;font-weight:700;color:var(--ink-soft);margin-right:1px}.projects-root .card-amt .won-badge{font-size:11px;font-weight:700;color:var(--green);margin-left:6px}.projects-root .card-foot{display:flex;align-items:center;gap:8px;border-top:1px solid #f6ece2;padding-top:10px;margin-top:8px}.projects-root .owner{display:flex;align-items:center;gap:6px}.projects-root .owner .oa{width:24px;height:24px;border-radius:50%;color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.12);background:var(--o-600)}.projects-root .owner .on{font-size:11px;font-weight:600;color:var(--ink-soft)}.projects-root .status-select{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;border:1px solid transparent;cursor:pointer;appearance:none;-webkit-appearance:none;font-family:var(--font);transition:.14s;background-color:#f1e4d7;color:#8a6d52}.projects-root .status-select.s-lead{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.projects-root .status-select.s-first_contact{background:var(--o-100);color:var(--o-700);border-color:var(--o-200)}.projects-root .status-select.s-hearing{background:#fef3c7;color:#92400e;border-color:#fde68a}.projects-root .status-select.s-proposal{background:var(--o-100);color:var(--o-800);border-color:var(--o-200)}.projects-root .status-select.s-quotation_submitted{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.projects-root .status-select.s-considering{background:#fef3c7;color:#92400e;border-color:#fde68a}.projects-root .status-select.s-won{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.projects-root .status-select.s-lost{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.projects-root .status-select.s-completed{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.projects-root .status-select.s-follow_up{background:var(--o-50);color:var(--o-700);border-color:var(--o-100)}.projects-root .status-select.s-on_hold{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.projects-root .status-select:hover:not(:disabled){box-shadow:0 2px 8px rgba(0,0,0,.1)}.projects-root .status-select:focus{outline:none;box-shadow:0 0 0 3px var(--o-100)}.projects-root .c1bg{background:var(--sky)}.projects-root .c2bg{background:var(--o-500)}.projects-root .c3bg{background:var(--violet)}.projects-root .c4bg{background:var(--green)}.projects-root .c5bg{background:#94a3b8}.projects-root .col.dim .cards{opacity:.65}.projects-root .modal-overlay{position:fixed;inset:0;background:rgba(58,36,16,.4);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.projects-root .modal{background:#fff;border-radius:20px;width:100%;max-width:480px;padding:28px 28px 24px;box-shadow:0 20px 60px rgba(124,45,18,.25);display:flex;flex-direction:column;gap:18px}.projects-root .modal-title{font-size:17px;font-weight:800;color:var(--ink)}.projects-root .form-group{display:flex;flex-direction:column;gap:5px}.projects-root .form-label{font-size:12px;font-weight:700;color:var(--ink-soft)}.projects-root .form-label .req{color:var(--red);margin-left:3px}.projects-root .form-input,.projects-root .form-select{height:40px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-family:var(--font);font-size:14px;color:var(--ink);background:#fff;transition:.16s}.projects-root .form-input:focus,.projects-root .form-select:focus{outline:none;border-color:var(--o-400);box-shadow:0 0 0 4px var(--o-100)}.projects-root .form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a6d52' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.projects-root .modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.projects-root .btn-cancel{height:38px;padding:0 18px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-family:var(--font);font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.16s}.projects-root .btn-cancel:hover{background:var(--o-50);border-color:var(--o-300);color:var(--o-700)}.projects-root .btn-submit{height:38px;padding:0 22px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--o-500),var(--o-700));font-family:var(--font);font-size:13.5px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(234,88,12,.35);transition:.16s}.projects-root .btn-submit:hover{box-shadow:0 6px 18px rgba(234,88,12,.45);transform:translateY(-1px)}.projects-root .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.projects-root .error-msg{font-size:12px;color:var(--red);font-weight:600;padding:8px 12px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.projects-root .mob-app-header,.projects-root .mob-fab,.projects-root .mob-seg-wrap{display:none}.projects-root .empty-col{padding:20px 11px;text-align:center;color:var(--ink-soft);font-size:12px;font-weight:500}@media (max-width:640px){.projects-root .tb-uname{display:none}.projects-root .toolbar{padding:12px 14px}.projects-root .board-wrap{padding:6px 14px 18px}}@media (max-width:767px){.projects-root{height:auto;min-height:100dvh;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column}.projects-root .topbar{display:none}.projects-root .mob-app-header{align-items:center;height:52px;padding:0 16px;background:rgba(255,251,247,.96);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);flex-shrink:0;position:sticky;top:0;z-index:50}.projects-root .mob-app-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:8px 10px 8px 0;min-height:44px}.projects-root .mob-app-title{flex:1;text-align:center;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.1px}.projects-root .mob-app-action{font-size:22px;font-weight:700;color:var(--o-600);background:none;border:none;cursor:pointer;padding:8px 0 8px 10px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:flex-end;font-family:var(--font)}.projects-root .mob-seg-wrap{padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.projects-root .mob-segment{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.projects-root .mob-segment::-webkit-scrollbar{display:none}.projects-root .mob-seg-btn{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-family:var(--font);font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.projects-root .mob-seg-btn.active{background:var(--o-600);border-color:var(--o-600);color:#fff;box-shadow:0 3px 10px rgba(234,88,12,.3)}.projects-root .mob-seg-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:rgba(0,0,0,.08);font-size:11px;font-weight:700;font-family:var(--num);padding:0 4px}.projects-root .mob-seg-btn.active .mob-seg-badge{background:rgba(255,255,255,.25)}.projects-root .toolbar{display:none}.projects-root .page-body{flex:1;display:flex;flex-direction:column;overflow:visible}.projects-root .board-wrap{flex:1;overflow-x:visible;overflow-y:visible;padding:12px 0 16px}.projects-root .board{display:flex;flex-direction:column;min-width:unset;width:100%;height:auto;gap:0}.projects-root .col{width:100%;flex:none;max-height:none;border-radius:0;background:transparent;border:none;display:none}.projects-root .col.mob-col-active{display:flex;flex-direction:column}.projects-root .col-head{display:none}.projects-root .cards{flex:none;overflow-y:visible;padding:0;gap:0}.projects-root .card{border-radius:14px;margin:0 16px 12px;padding:16px;border:1px solid #f6ece2}.projects-root .card:active{transform:scale(.99)}.projects-root .card-title{font-size:15px}.projects-root .card-amt{font-size:20px}.projects-root .status-select{height:32px;padding:0 12px;font-size:12px}.projects-root .empty-col{padding:40px 20px;text-align:center;color:var(--ink-soft);font-size:13px}.projects-root .mob-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:20px;bottom:calc(72px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--o-500),var(--o-700));color:#fff;font-size:26px;font-weight:700;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(234,88,12,.45);z-index:90;transition:transform .15s,box-shadow .15s;font-family:var(--font);line-height:1}.projects-root .mob-fab:active{transform:scale(.95);box-shadow:0 3px 10px rgba(234,88,12,.35)}.projects-root .modal-overlay{align-items:flex-end;padding:0}.projects-root .modal{border-radius:20px 20px 0 0;max-width:100%;padding:24px 20px calc(20px + env(safe-area-inset-bottom))}.projects-root .form-input,.projects-root .form-select{height:48px;font-size:16px}.projects-root .btn-cancel,.projects-root .btn-submit{height:44px;flex:1}.projects-root .modal-actions{gap:8px}.projects-root .mob-app-header{display:flex}.projects-root .mob-seg-wrap{display:block}}.cal-os-root,.cal-root{--ink-900:#1a1a1a;--ink-700:#3d3d3d;--ink-500:#666666;--ink-400:#8a8a8a;--ink-300:#999999;--ink-200:#c4c4c4;--ink-100:#e2e0da;--line:#ddd8cc;--line-soft:#eae7de;--paper:#ffffff;--paper-warm:#fdfcf9;--surface:#f6f4ee;--surface-strong:#efece2;--brand-navy:#0f2c4c;--brand-deep:#1e3f66;--brand-blue:#4a90c2;--brand-blue-soft:#e8f1f8;--brand-blue-mist:#f2f7fb;--gold:#d4a017;--gold-deep:#b8860f;--gold-soft:#faf1dc;--gold-mist:#fdf8ec;--type-visit:#0891b2;--type-visit-bg:#e5f7fa;--type-deal:#7c3aed;--type-deal-bg:#f2ecfd;--type-training:#d97706;--type-training-bg:#fdf1e0;--type-construction:#dc2626;--type-construction-bg:#fce9e9;--type-other:#16a34a;--type-other-bg:#e7f6ec;--type-internal:#5b6472;--type-internal-bg:#eceef1;--member-1:#c2410c;--member-2:#0d9488;--member-3:#4338ca;--member-4:#a21caf;--member-5:#65a30d;--member-6:#0369a1;--danger:#cc0000;--success:#2e8b57;--warning:#d97706;--font-jp:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Yu Gothic Medium","Yu Gothic",YuGothic,Meiryo,メイリオ,sans-serif;--font-serif-jp:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;--sp-3xs:2px;--sp-2xs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:40px;--sp-2xl:64px;--shadow-1:0 2px 8px rgba(26,20,10,0.06);--shadow-2:0 4px 16px rgba(26,20,10,0.10);--shadow-3:0 8px 32px rgba(26,20,10,0.16);--shadow-gold:0 2px 10px rgba(212,160,23,0.35);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--cal-hour-size:56px;--cal-hours:24;--cal-timecol-width:56px;--ease-swiss:cubic-bezier(0.2,0.6,0.2,1);--dur-fast:120ms;--dur-normal:220ms;--dur-slow:360ms;--cal-bg:var(--surface);--cal-panel:var(--paper-warm);--cal-card:var(--paper);--cal-ink:var(--ink-900);--cal-muted:var(--ink-500);--cal-soft:var(--surface-strong);--cal-line:var(--line);--cal-green:var(--success);--cal-green-2:var(--type-other-bg);--cal-gold:var(--gold);--cal-red:var(--danger);--cal-blue:var(--brand-blue);--cal-shadow:var(--shadow-2)}.cal-root{background:var(--surface);color:var(--ink-900);display:grid;grid-template-columns:64px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden;font-family:var(--font-jp);font-size:14px;line-height:1.6;letter-spacing:.02em}.cal-root .num,.cal-root .tnum,.cal-root time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.cal-rail{background:var(--brand-navy);background-image:linear-gradient(180deg,var(--brand-navy) 0,#0a1f38 100%);flex-direction:column;padding:var(--sp-md) 0;gap:var(--sp-lg);z-index:40;height:100vh;overflow-y:auto}.cal-rail,.cal-rail-home{display:flex;align-items:center;position:relative}.cal-rail-home{width:40px;height:40px;justify-content:center;border-radius:var(--radius-md);color:var(--gold);border:1px solid rgba(212,160,23,.4);transition:background var(--dur-fast) var(--ease-swiss),color var(--dur-fast) var(--ease-swiss)}.cal-rail-home svg{width:19px;height:19px}.cal-rail-home:hover{background:rgba(212,160,23,.16)}.cal-rail-nav{flex-direction:column;gap:var(--sp-sm);width:100%}.cal-rail-item,.cal-rail-nav{display:flex;align-items:center}.cal-rail-item{width:40px;height:40px;justify-content:center;border-radius:var(--radius-md);color:rgba(255,255,255,.5);position:relative;background:transparent;border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-swiss),color var(--dur-fast) var(--ease-swiss)}.cal-rail-item svg{width:19px;height:19px}.cal-rail-item:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85)}.cal-rail-item:disabled{cursor:not-allowed;opacity:.4}.cal-rail-item.active{background:rgba(212,160,23,.16);color:var(--gold)}.cal-rail-item.active:before{content:"";left:-12px;width:3px;height:20px;background:var(--gold);border-radius:0 3px 3px 0}.cal-rail-item.active:before,.cal-rail-tip{position:absolute;top:50%;transform:translateY(-50%)}.cal-rail-tip{left:52px;background:var(--ink-900);color:var(--paper);padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-swiss);box-shadow:var(--shadow-2);z-index:50}.cal-rail-home:hover .cal-rail-tip,.cal-rail-item:hover .cal-rail-tip{opacity:1}.cal-rail-foot{margin-top:auto;gap:var(--sp-sm);align-items:center}.cal-app-main,.cal-rail-foot{display:flex;flex-direction:column}.cal-app-main{height:100vh;overflow:hidden;background:var(--surface);min-width:0}.cal-topbar{height:60px;min-height:60px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 var(--sp-lg);gap:var(--sp-lg);z-index:30;position:relative}.cal-topbar-brand{display:flex;align-items:baseline;gap:var(--sp-xs);white-space:nowrap}.cal-app-name{font-family:var(--font-serif-jp);font-size:19px;font-weight:600;color:var(--ink-900);letter-spacing:.04em}.cal-app-sub{font-size:11px;color:var(--ink-400);letter-spacing:.08em}.cal-topbar-search{flex:1;max-width:420px;position:relative;display:flex;align-items:center;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);padding:0 var(--sp-sm) 0 38px;color:var(--ink-400);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-swiss),background var(--dur-fast) var(--ease-swiss);text-align:left}.cal-topbar-search:hover{background:var(--paper);border-color:var(--ink-200)}.cal-topbar-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-400);pointer-events:none}.cal-topbar-search-placeholder{flex:1;font-size:13px;color:var(--ink-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-kbd-hint{font-family:var(--font-mono);font-size:10px;color:var(--ink-300);border:1px solid var(--line);border-radius:4px;padding:2px 5px;pointer-events:none}.cal-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-sm)}.cal-icon-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--ink-500);position:relative;cursor:pointer;transition:background var(--dur-fast) var(--ease-swiss),border-color var(--dur-fast) var(--ease-swiss),color var(--dur-fast) var(--ease-swiss)}.cal-icon-btn svg{width:18px;height:18px}.cal-icon-btn:hover{background:var(--surface);border-color:var(--line);color:var(--ink-900)}.cal-icon-btn-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--gold);border:1.5px solid var(--paper)}.cal-topbar-user{display:flex;align-items:center;gap:var(--sp-xs)}.cal-topbar-avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-deep);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border:1px solid var(--line);flex-shrink:0}.cal-topbar-user-meta{display:grid;gap:1px;line-height:1.2}.cal-topbar-user-name{font-size:12px;font-weight:700;color:var(--ink-900)}.cal-topbar-user-role{font-size:10.5px;color:var(--ink-400)}.cal-module-tabs{height:44px;min-height:44px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:stretch;padding:0 var(--sp-lg);gap:var(--sp-lg)}.cal-module-tabs button{display:flex;align-items:center;padding:0 var(--sp-2xs);font-size:13px;font-weight:500;color:var(--ink-400);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--dur-fast) var(--ease-swiss)}.cal-module-tabs button:hover{color:var(--ink-700)}.cal-module-tabs button.active{color:var(--brand-navy);border-bottom-color:var(--brand-blue);font-weight:700}.cal-main{display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;flex:1;overflow:hidden;background:var(--paper)}.cal-main.is-training-module{gap:10px;overflow:hidden;padding-bottom:16px}.cal-main.is-training-module .cal-top .welcome>img{width:60px}.cal-main.is-training-module .cal-kpis,.cal-main.is-training-module .cal-module-tabs{flex:0 0 auto}.cal-main.is-training-module .cal-kpis>div{padding:10px 12px}.cal-main.is-training-module .cal-kpis b{font-size:24px}.cal-main.is-training-module .cal-kpis small{white-space:nowrap}.cal-view-toolbar{display:flex;align-items:center;padding:var(--sp-sm) var(--sp-lg);border-bottom:1px solid var(--line);gap:var(--sp-md);flex-wrap:wrap}.cal-view-toolbar-title{font-family:var(--font-serif-jp);font-size:20px;font-weight:600;color:var(--ink-900);letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.cal-nav-cluster{display:flex;align-items:center;gap:6px}.cal-nav-cluster button{height:30px;padding:0 var(--sp-sm);border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);color:var(--ink-500);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--dur-fast) var(--ease-swiss)}.cal-nav-cluster button:hover{background:var(--surface);color:var(--ink-900);border-color:var(--ink-200)}.cal-btn-today{border-color:var(--line)!important}.cal-btn-today:hover{border-color:var(--gold)!important;color:var(--gold-deep)!important}.cal-date-jump{height:30px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);color:var(--ink-700);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:0 8px;transition:all var(--dur-fast) var(--ease-swiss)}.cal-date-jump:focus-visible,.cal-date-jump:hover{border-color:var(--gold)}.cal-view-switch{display:flex;background:var(--surface);border-radius:var(--radius-md);padding:3px;gap:2px}.cal-view-switch button{padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--ink-500);cursor:pointer;transition:all var(--dur-fast) var(--ease-swiss)}.cal-view-switch button:hover{color:var(--ink-900)}.cal-view-switch button.active{background:var(--paper);color:var(--brand-navy);box-shadow:var(--shadow-1)}.cal-btn-create{margin-left:auto;height:38px;background:var(--gold);color:var(--ink-900);border:none;border-radius:var(--radius-md);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;gap:var(--sp-2xs);box-shadow:var(--shadow-gold);cursor:pointer;padding:0 var(--sp-md);transition:transform var(--dur-fast) var(--ease-swiss),box-shadow var(--dur-fast) var(--ease-swiss),background var(--dur-fast) var(--ease-swiss);letter-spacing:.02em}.cal-btn-create svg{width:16px;height:16px}.cal-btn-create:hover{background:var(--gold-deep);transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,160,23,.4)}.cal-btn-create:active{transform:translateY(0);box-shadow:var(--shadow-gold)}.cal-mobile-ops{display:none}.cal-kpis{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--sp-sm) var(--sp-lg) 0}.cal-kpis>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);display:grid;gap:3px;padding:10px 12px}.cal-kpis span{color:var(--gold-deep);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cal-kpis b{font-size:22px;font-weight:700;line-height:1;color:var(--ink-900)}.cal-kpis small{color:var(--ink-500);font-size:11px;font-weight:600}.cal-message{margin:var(--sp-sm) var(--sp-lg) 0;background:var(--gold-mist);border:1px solid var(--gold-soft);border-radius:var(--radius-md);color:var(--gold-deep);font-size:13px;font-weight:600;padding:11px 14px}.cal-workspace{display:grid;flex:1 1 auto;gap:0;grid-template-columns:240px minmax(0,1fr) 340px;min-height:0;position:relative;overflow:hidden}.cal-rail-left{background:var(--paper);border-right:1px solid var(--line);overflow-y:auto;padding:var(--sp-lg) var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-lg)}.cal-rail-section-title{font-size:11px;font-weight:700;color:var(--ink-400);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-sm)}.cal-mini-cal{border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--sp-sm);background:var(--paper-warm)}.cal-mini-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-sm);padding:0 var(--sp-3xs)}.cal-mini-cal-head button{width:22px;height:22px;border:none;background:transparent;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--ink-500);cursor:pointer;transition:background var(--dur-fast) var(--ease-swiss)}.cal-mini-cal-head button:hover{background:var(--surface-strong);color:var(--ink-900)}.cal-mini-cal-head button svg{width:13px;height:13px}.cal-mini-cal-ym{font-size:13px;font-weight:700;color:var(--ink-900);font-variant-numeric:tabular-nums}.cal-mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-mini-cal-dow{font-size:10px;color:var(--ink-300);text-align:center;padding-bottom:4px;font-weight:600}.cal-mini-cal-dow.is-saturday{color:var(--brand-blue)}.cal-mini-cal-dow.is-sunday{color:var(--type-construction)}.cal-mini-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11.5px;border-radius:50%;color:var(--ink-700);cursor:pointer;position:relative;font-variant-numeric:tabular-nums;background:transparent;border:0;transition:background var(--dur-fast) var(--ease-swiss),color var(--dur-fast) var(--ease-swiss)}.cal-mini-cal-day:hover{background:var(--surface-strong)}.cal-mini-cal-day.muted{color:var(--ink-200)}.cal-mini-cal-day.is-saturday{color:var(--brand-blue)}.cal-mini-cal-day.is-sunday{color:var(--type-construction)}.cal-mini-cal-day.today{background:var(--gold);color:var(--ink-900);font-weight:700}.cal-mini-cal-day.in-range{background:var(--brand-blue-soft)}.cal-mini-cal-day.has-event:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--brand-blue)}.cal-mini-cal-day.today.has-event:after{background:var(--ink-900)}.cal-member-list{display:flex;flex-direction:column;gap:2px}.cal-member-item{display:flex;align-items:center;gap:var(--sp-xs);padding:6px var(--sp-2xs);border-radius:var(--radius-sm)}.cal-member-avatar{width:22px;height:22px;border-radius:50%;background:var(--member-color,var(--brand-blue));color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.cal-member-name{font-size:12.5px;color:var(--ink-700);flex:1}.cal-member-item.checked .cal-member-name{color:var(--ink-900);font-weight:600}.cal-type-filter-list{display:flex;flex-direction:column;gap:2px}.cal-type-filter-item{display:flex;align-items:center;gap:var(--sp-xs);padding:6px var(--sp-2xs);border-radius:var(--radius-sm)}.cal-type-chip-dot{width:10px;height:10px;border-radius:3px;background:var(--type-internal);flex-shrink:0}.cal-type-filter-item[data-type=inspection] .cal-type-chip-dot,.cal-type-filter-item[data-type=visit] .cal-type-chip-dot{background:var(--type-visit)}.cal-type-filter-item[data-type=deal] .cal-type-chip-dot{background:var(--type-deal)}.cal-type-filter-item[data-type=training] .cal-type-chip-dot{background:var(--type-training)}.cal-type-filter-item[data-type=work] .cal-type-chip-dot{background:var(--type-construction)}.cal-type-filter-item[data-type=delivery] .cal-type-chip-dot,.cal-type-filter-item[data-type=other] .cal-type-chip-dot{background:var(--type-other)}.cal-type-name{font-size:12.5px;color:var(--ink-700);flex:1}.cal-type-count{font-size:11px;color:var(--ink-300);font-variant-numeric:tabular-nums}.cal-process-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink-400);font-size:13px;font-weight:600;padding:var(--sp-xl);text-align:center}.cal-today-ops{align-items:center;flex-shrink:0;background:rgba(255,255,255,.92);border:1px solid var(--cal-line);border-radius:8px;box-shadow:0 10px 24px rgba(42,35,20,.08);display:grid;gap:12px;grid-template-columns:160px minmax(0,1fr) 206px;min-height:64px;min-width:0;overflow:hidden;padding:8px 10px}.cal-today-ops>div:first-child{display:grid;gap:2px;min-width:0}.cal-today-ops small,.cal-today-ops span{color:var(--cal-muted);font-size:10.5px;font-weight:900}.cal-today-ops b{color:var(--cal-ink);font-size:14px;font-weight:900}.cal-today-ops-list{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.cal-today-ops-list p{color:var(--cal-muted);font-size:12px;font-weight:800;grid-column:1/-1;margin:0}.cal-today-ops-list button{background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;color:var(--cal-ink);cursor:pointer;display:grid;gap:2px;min-height:46px;min-width:0;padding:6px 8px;text-align:left}.cal-today-ops-list small,.cal-today-ops-list span,.cal-today-ops-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-today-ops-list strong{color:var(--cal-green);font-size:11px;font-weight:900}.cal-today-ops-list span{color:var(--cal-ink);font-size:12px}.cal-today-ops-actions{display:grid;gap:7px}.cal-today-ops-actions button{background:#151713;border:1px solid #151713;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:900;line-height:1.25;min-height:29px;min-width:0;padding:0 10px;white-space:normal}.cal-training-command{display:grid;flex:0 0 clamp(330px,calc(100vh - 380px),430px);gap:16px;grid-template-columns:minmax(0,1fr) 360px;height:clamp(330px,calc(100vh - 380px),430px);min-height:0;overflow:hidden}.cal-training-command-detail,.cal-training-command-main{background:rgba(255,255,255,.94);border:1px solid var(--cal-line);border-radius:8px;box-shadow:var(--cal-shadow);display:grid;min-height:0;overflow:hidden;padding:14px}.cal-training-command-main{gap:12px;grid-template-rows:auto minmax(0,1fr) auto}.cal-training-command-detail{align-content:start;gap:10px}.cal-training-table{border:1px solid #ece3d1;border-radius:8px;display:grid;grid-template-rows:34px repeat(4,minmax(46px,1fr));min-height:0;overflow:hidden}.cal-training-table-head,.cal-training-table-row{display:grid;gap:8px;grid-template-columns:110px minmax(150px,1.35fr) 72px 88px 100px 100px 64px;min-width:0}.cal-training-table-head{align-items:center;background:#faf7ee;border-bottom:1px solid #ece3d1;color:var(--cal-muted);font-size:10px;font-weight:900;padding:0 10px}.cal-training-table-row{align-items:center;background:#fffdf8;border:0;border-bottom:1px solid #f0eadc;color:var(--cal-ink);cursor:pointer;font:inherit;min-height:46px;padding:0 10px;text-align:left}.cal-training-table-row.is-active,.cal-training-table-row:hover{background:#fff6df}.cal-training-table-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-training-table-row b{font-size:12px;font-weight:900}.cal-training-table-row span{color:var(--cal-muted);font-size:11px;font-weight:800}.cal-training-table-row em,.cal-training-table-row strong{border-radius:999px;font-size:10px;font-style:normal;font-weight:900;padding:5px 7px;text-align:center}.cal-training-table-row em{background:var(--cal-green-2);color:var(--cal-green)}.cal-training-table-row strong{background:#151713;color:#fff}.cal-training-table-foot{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.cal-training-table-foot b,.cal-training-table-foot span{color:var(--cal-muted);font-size:11px;font-weight:900}.cal-training-table-foot b{background:#f1eadc;border:1px solid #e5dcc9;border-radius:999px;color:var(--cal-ink);padding:5px 8px}.cal-training-empty{align-content:center;color:var(--cal-muted);display:grid;font-size:12px;font-weight:800;padding:18px}.cal-training-detail-metrics{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.cal-training-detail-metrics span{background:#faf7ee;border:1px solid #ece3d1;border-radius:8px;display:grid;gap:2px;padding:8px}.cal-training-detail-metrics b{font-size:15px;font-weight:900}.cal-training-detail-metrics small{color:var(--cal-muted);font-size:10px;font-weight:900}.cal-training-compact-facts{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.cal-training-compact-facts div{background:#fffdf8;border:1px solid #ece3d1;border-radius:8px;min-width:0;padding:7px}.cal-training-compact-facts dt{color:var(--cal-muted);font-size:10px;font-weight:900}.cal-training-compact-facts dd{color:var(--cal-ink);font-size:11px;font-weight:900;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-training-command-actions,.cal-training-prep-mini,.cal-training-status-mini{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.cal-training-status-mini form{min-width:0}.cal-training-command-actions button,.cal-training-participant-mini button,.cal-training-status-mini button{background:#fff;border:1px solid #ddd2bd;border-radius:8px;color:var(--cal-ink);cursor:pointer;font:inherit;font-size:10px;font-weight:900;min-height:30px;padding:5px 7px;width:100%}.cal-training-status-mini button:disabled{background:var(--cal-green-2);color:var(--cal-green);cursor:default}.cal-training-prep-mini span{background:#fff7db;border:1px solid #eadcae;border-radius:999px;color:#7a5b13;font-size:10px;font-weight:900;padding:6px 8px;text-align:center}.cal-training-prep-mini span.done{background:var(--cal-green-2);border-color:#bcd9c5;color:var(--cal-green)}.cal-training-participant-mini{display:grid;gap:6px}.cal-training-participant-mini form{align-items:center;background:#fffdf8;border:1px solid #ece3d1;border-radius:8px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) 88px 42px;min-width:0;padding:6px}.cal-training-participant-mini b{font-size:11px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-training-participant-mini select{background:#fff;border:1px solid #ddd2bd;border-radius:7px;color:var(--cal-ink);font:inherit;font-size:10px;font-weight:900;min-width:0;padding:5px 6px}.cal-training-participant-mini p,.cal-training-participant-mini small{color:var(--cal-muted);font-size:11px;font-weight:800;margin:0}.cal-board,.cal-panel{min-width:0}.cal-board{display:grid;overflow:hidden}.cal-board,.cal-board>*{min-height:0}.cal-day-view,.cal-detail,.cal-form,.cal-resource,.cal-week{background:rgba(255,255,255,.92);border:1px solid var(--cal-line);border-radius:8px;box-shadow:var(--cal-shadow)}.cal-day-view,.cal-resource{max-height:100%;overflow:auto;overscroll-behavior:contain}.cal-board .cal-month-board{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md)}.cal-week{height:100%;min-height:0;overflow:hidden}.cal-week-scroll{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}.cal-week-head{border-bottom:1px solid var(--cal-line);display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));min-width:0;position:sticky;top:0;z-index:5}.cal-week-corner{background:#faf7ee;border-right:1px solid var(--cal-line);min-height:52px}.cal-week-head button{background:#fffdf8;border:0;border-right:1px solid var(--cal-line);color:var(--cal-ink);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:52px;padding:9px 10px;text-align:left}.cal-week-head button.active{background:#e8f3eb}.cal-week-head button.is-saturday{background:rgba(47,109,157,.08)}.cal-week-head button.is-sunday{background:rgba(185,74,72,.08)}.cal-week-head button.is-saturday.active,.cal-week-head button.is-sunday.active{background:#e8f3eb}.cal-week-head button span{color:var(--cal-muted);font-size:12px;font-weight:800}.cal-week-head button b{font-size:20px;font-weight:900}.cal-week-grid{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));height:auto;min-height:calc(var(--cal-hour-size) * 24);user-select:none}.cal-hours{background:var(--cal-panel);border-right:1px solid var(--cal-line);position:relative}.cal-hours span{color:var(--cal-muted);font-size:11px;font-weight:900;left:0;padding:0 8px;position:absolute;right:0;text-align:right;transform:translateY(-50%);white-space:nowrap}.cal-day-column{border-right:1px solid var(--cal-line);position:relative}.cal-day-column.is-saturday{background:rgba(47,109,157,.05)}.cal-day-column.is-sunday{background:rgba(185,74,72,.05)}.cal-slot{border-bottom:1px solid rgba(26,26,26,.34);height:var(--cal-hour-size)}.cal-slot.is-drafting{background:linear-gradient(90deg,rgba(33,110,69,.1),rgba(199,152,36,.13));outline:1px solid rgba(33,110,69,.22);outline-offset:-1px}.cal-slot button{background:transparent;border:0;color:transparent;cursor:pointer;display:grid;font-family:inherit;font-size:17px;font-weight:900;height:100%;place-items:center;transition:background .15s ease,color .15s ease;width:100%}.cal-slot button:focus-visible,.cal-slot button:hover{background:rgba(33,110,69,.08);color:var(--cal-green);outline:none}.cal-slot:has(button:focus-visible),.cal-slot:has(button:hover){background:rgba(33,110,69,.04)}.cal-slot.is-drafting button{color:var(--cal-green)}.cal-quick-popover{background:rgba(255,253,247,.98);border:1px solid #d5c7aa;border-radius:8px;bottom:14px;box-shadow:0 22px 50px rgba(42,35,20,.24);display:grid;gap:9px;left:14px;max-height:min(620px,calc(100vh - 180px));overflow:auto;padding:12px;position:absolute;width:min(640px,calc(100% - 400px));z-index:20}.cal-quick-head{align-items:center;display:flex;justify-content:space-between;min-width:0}.cal-quick-head>div{display:grid;gap:2px;min-width:0}.cal-quick-head span,.cal-quick-members>span{color:var(--cal-gold);font-size:10px;font-weight:900}.cal-quick-head b{color:var(--cal-ink);font-size:15px;font-weight:900}.cal-quick-head button{background:#151713;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:16px;font-weight:900;height:32px;width:32px}.cal-quick-popover label,.cal-search-select{color:var(--cal-muted);display:grid;font-size:11px;font-weight:900;gap:5px;min-width:0}.cal-quick-popover input,.cal-quick-popover select,.cal-quick-popover textarea,.cal-search-select input,.cal-search-select select{background:#fff;border:1px solid #ddd2bd;border-radius:8px;color:var(--cal-ink);font:inherit;font-size:12px;font-weight:800;min-height:34px;min-width:0;padding:0 9px}.cal-quick-popover textarea{padding:8px 9px;resize:vertical}.cal-quick-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.cal-quick-duration{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.cal-quick-duration button{background:#f7f3e8;border:1px solid #e1d6bf;border-radius:8px;color:var(--cal-ink);cursor:pointer;font:inherit;font-size:11px;font-weight:900;min-height:30px}.cal-quick-members{display:grid;gap:6px}.cal-quick-members>input{background:#fff;border:1px solid #ddd2bd;border-radius:8px;color:var(--cal-ink);font:inherit;font-size:12px;font-weight:800;min-height:32px;min-width:0;padding:0 9px}.cal-quick-members>div{display:flex;flex-wrap:wrap;gap:6px}.cal-quick-members button{background:#f7f3e8;border:1px solid #e1d6bf;border-radius:999px;color:var(--cal-ink);cursor:pointer;font:inherit;font-size:11px;font-weight:900;min-height:28px;max-width:170px;overflow:hidden;padding:0 9px;text-overflow:ellipsis;white-space:nowrap}.cal-quick-members button.active{background:var(--cal-green-2);border-color:#accfb8;color:var(--cal-green)}.cal-check.compact,.cal-check.inline{align-items:center;display:flex;gap:7px;min-height:34px}.cal-quick-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr 1.2fr}.cal-plan-block{align-content:start;background:var(--cal-green);border:0;border-left:5px solid rgba(255,255,255,.65);border-radius:8px;box-shadow:0 9px 18px rgba(32,36,31,.18);color:#fff;cursor:pointer;display:grid;gap:2px;left:6px;min-height:28px;overflow:hidden;padding:8px;position:absolute;right:6px;text-align:left;z-index:2}.cal-plan-block[draggable=true]{cursor:grab}.cal-plan-block[draggable=true]:active{cursor:grabbing}.cal-day-chip b,.cal-plan-block b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-chip span,.cal-plan-block small,.cal-plan-block span{font-size:10.5px;font-weight:800;opacity:.86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-chip.internal,.cal-day-chip.meeting,.cal-plan-block.internal,.cal-plan-block.meeting{background:var(--type-internal)}.cal-day-chip.inspection,.cal-day-chip.visit,.cal-plan-block.inspection,.cal-plan-block.visit{background:var(--type-visit)}.cal-day-chip.deal,.cal-plan-block.deal{background:var(--type-deal)}.cal-day-chip.work,.cal-plan-block.work{background:var(--type-construction)}.cal-day-chip.training,.cal-plan-block.training{background:var(--type-training)}.cal-day-chip.delivery,.cal-day-chip.other,.cal-plan-block.delivery,.cal-plan-block.other{background:var(--type-other)}.cal-plan-block.status-tentative{opacity:.72}.cal-plan-block.status-cancelled{background:#979797;text-decoration:line-through}.cal-plan-block.all-day{align-content:center;border-left-color:rgba(32,36,31,.26)}.cal-plan-block.all-day small,.cal-plan-block.all-day span{display:none}.cal-day-title{align-items:center;border-bottom:1px solid var(--cal-line);display:flex;justify-content:space-between;padding:14px 16px}.cal-day-title b,.cal-day-title span{font-size:16px;font-weight:900}.cal-day-timeline{display:grid;position:relative}.cal-now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--cal-red);pointer-events:none;z-index:4}.cal-now-line:before{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--cal-red)}.cal-day-row{border-bottom:1px solid var(--cal-line);display:grid;grid-template-columns:74px minmax(0,1fr);min-height:52px}.cal-day-row.is-drafting{background:linear-gradient(90deg,rgba(33,110,69,.08),rgba(199,152,36,.11))}.cal-day-row time{background:#faf7ee;color:var(--cal-muted);font-size:12px;font-weight:900;padding:11px 12px}.cal-day-row>div{display:flex;flex-wrap:wrap;gap:8px;padding:7px 9px}.cal-row-create{background:#f7f3e8;border:1px dashed #d8ceb8;border-radius:8px;color:var(--cal-muted);cursor:pointer;font-family:inherit;font-size:11px;font-weight:900;min-height:34px;padding:0 10px}.cal-free-create:focus-visible,.cal-free-create:hover,.cal-row-create:focus-visible,.cal-row-create:hover{background:var(--cal-green-2);color:var(--cal-green);outline:none}.cal-day-chip{border:0;border-radius:8px;color:#fff;cursor:pointer;display:grid;gap:3px;min-width:220px;padding:10px;text-align:left}.cal-month-board{display:flex;flex-direction:column;height:100%;overflow:hidden}.cal-month-dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);flex-shrink:0}.cal-month-dow-cell{padding:8px 0;text-align:center;font-size:11px;font-weight:600;color:var(--ink-400);letter-spacing:.05em;border-left:1px solid var(--line-soft)}.cal-month-dow-cell.is-saturday{color:var(--brand-blue)}.cal-month-dow-cell.is-sunday{color:var(--type-construction)}.cal-month-grid{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(110px,1fr);overflow-y:auto;isolation:isolate}.cal-day-cell{background:transparent;border:0;border-left:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:0;position:relative;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-swiss);z-index:1}.cal-day-cell.has-overflow-open{z-index:20}.cal-day-cell:hover{background:var(--surface)}.cal-day-cell.is-saturday,.cal-day-cell.is-sunday{background:var(--paper-warm)}.cal-day-cell.is-saturday:hover,.cal-day-cell.is-sunday:hover{background:var(--surface-strong)}.cal-day-cell.other-month{opacity:.4}.cal-day-cell.today{background:var(--gold-mist)}.cal-day-cell.selected{outline:2px solid var(--brand-blue);outline-offset:-2px}.cal-day-cell-num{font-size:13px;font-weight:600;color:var(--ink-700);font-variant-numeric:tabular-nums;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.cal-day-cell.today .cal-day-cell-num{background:var(--gold);color:var(--ink-900)}.cal-day-cell.is-saturday .cal-day-cell-num{color:var(--brand-blue)}.cal-day-cell.is-sunday .cal-day-cell-num{color:var(--type-construction)}.cal-day-cell-events{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;padding-top:64px}.cal-month-event-chip{font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--brand-blue-soft);border-left:2.5px solid var(--brand-blue);color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;display:block;transition:transform var(--dur-fast) var(--ease-swiss)}.cal-month-event-chip:hover{transform:translateX(2px)}.cal-month-range-segment{align-self:start;min-width:0;height:20px;margin-inline:2px;padding:2px 6px;z-index:4;display:flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-inline-start-width:3px;font:inherit;font-size:10.5px;text-align:start;box-shadow:0 1px 2px rgba(15,44,76,.05)}.cal-month-range-segment:hover{transform:none;filter:saturate(1.05) brightness(.985);box-shadow:0 3px 9px rgba(15,44,76,.12)}.cal-month-range-segment:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-blue) 34%,transparent);outline-offset:2px}.cal-month-range-segment.continues-before{border-start-start-radius:2px;border-end-start-radius:2px;border-inline-start-style:dashed}.cal-month-range-segment.continues-after{border-start-end-radius:2px;border-end-end-radius:2px;border-inline-end-style:dashed}.cal-month-range-segment__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-month-range-segment__continuation,.cal-month-range-segment__duration{flex:0 0 auto;padding:1px 4px;color:currentColor;background:rgba(255,255,255,.54);border-radius:999px;font-size:8px;line-height:1.35}.cal-month-range-segment[data-span="1"] .cal-month-range-segment__continuation,.cal-month-range-segment[data-span="1"] .cal-month-range-segment__duration{display:none}.cal-month-grid.is-proposal-dragging .cal-month-range-segment{pointer-events:none}.cal-month-event-chip .cal-ev-time{color:var(--brand-deep);font-variant-numeric:tabular-nums;margin-right:3px}.cal-month-event-chip[data-type-code=inspection],.cal-month-event-chip[data-type-code=visit]{background:var(--type-visit-bg);border-left-color:var(--type-visit)}.cal-month-event-chip[data-type-code=inspection] .cal-ev-time,.cal-month-event-chip[data-type-code=visit] .cal-ev-time{color:var(--type-visit)}.cal-month-event-chip[data-type-code=deal]{background:var(--type-deal-bg);border-left-color:var(--type-deal)}.cal-month-event-chip[data-type-code=deal] .cal-ev-time{color:var(--type-deal)}.cal-month-event-chip[data-type-code=training]{background:var(--type-training-bg);border-left-color:var(--type-training)}.cal-month-event-chip[data-type-code=training] .cal-ev-time{color:var(--type-training)}.cal-month-event-chip[data-type-code=work]{background:var(--type-construction-bg);border-left-color:var(--type-construction)}.cal-month-event-chip[data-type-code=work] .cal-ev-time{color:var(--type-construction)}.cal-month-event-chip[data-type-code=delivery],.cal-month-event-chip[data-type-code=other]{background:var(--type-other-bg);border-left-color:var(--type-other)}.cal-month-event-chip[data-type-code=delivery] .cal-ev-time,.cal-month-event-chip[data-type-code=other] .cal-ev-time{color:var(--type-other)}.cal-month-event-chip[data-type-code=internal],.cal-month-event-chip[data-type-code=meeting]{background:var(--type-internal-bg);border-left-color:var(--type-internal)}.cal-month-event-chip[data-type-code=internal] .cal-ev-time,.cal-month-event-chip[data-type-code=meeting] .cal-ev-time{color:var(--type-internal)}.cal-month-more-btn{font-size:10px;font-weight:700;color:var(--brand-blue);background:transparent;border:0;padding:2px 6px;text-align:left;border-radius:4px;cursor:pointer;display:block;width:100%;position:relative;z-index:2;transition:background var(--dur-fast) var(--ease-swiss)}.cal-month-more-btn:hover{background:var(--brand-blue-mist)}.cal-month-overflow-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-3);cursor:default;left:8px;max-height:260px;padding:10px;position:absolute;right:8px;top:calc(100% - 6px);z-index:6}.cal-month-overflow-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cal-month-overflow-head b{font-size:12px;font-weight:700;color:var(--ink-900)}.cal-month-overflow-head button{background:transparent;border:0;border-radius:4px;color:var(--ink-500);cursor:pointer;font-size:14px;font-weight:700;line-height:1;min-height:0;padding:2px 6px}.cal-month-overflow-head button:hover{background:var(--surface-strong)}.cal-month-overflow-list{display:flex;flex-direction:column;gap:4px;max-height:210px;overflow-y:auto}.cal-month-overflow-item{background:var(--paper-warm);border:1px solid var(--line);border-left:3px solid var(--brand-blue);border-radius:6px;cursor:pointer;display:grid;flex-shrink:0;gap:2px;padding:6px 8px;text-align:left}.cal-month-overflow-item:hover{background:var(--surface)}.cal-month-overflow-item[data-type-code=inspection],.cal-month-overflow-item[data-type-code=visit]{border-left-color:var(--type-visit)}.cal-month-overflow-item[data-type-code=deal]{border-left-color:var(--type-deal)}.cal-month-overflow-item[data-type-code=training]{border-left-color:var(--type-training)}.cal-month-overflow-item[data-type-code=work]{border-left-color:var(--type-construction)}.cal-month-overflow-item[data-type-code=delivery],.cal-month-overflow-item[data-type-code=other]{border-left-color:var(--type-other)}.cal-month-overflow-item[data-type-code=internal],.cal-month-overflow-item[data-type-code=meeting]{border-left-color:var(--type-internal)}.cal-month-overflow-item b{font-size:11.5px;font-weight:700;color:var(--ink-900)}.cal-month-overflow-item span{color:var(--ink-500);font-size:10.5px;font-weight:600}.cal-resource{overflow:auto}.cal-resource-head,.cal-resource-row{display:grid;grid-template-columns:190px repeat(24,minmax(70px,1fr));min-width:calc(190px + 24 * 70px);width:100%}.cal-resource-head{background:#151713;color:#fff;position:sticky;top:0;z-index:3}.cal-resource-head span,.cal-resource-head time{border-right:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:900;padding:10px}.cal-resource-row{border-bottom:1px solid var(--cal-line)}.cal-member-name{align-items:center;background:#fffdf8;border-right:1px solid var(--cal-line);display:flex;gap:10px;padding:10px}.cal-member-name i{border-radius:8px;color:#fff;display:grid;font-size:11px;font-style:normal;font-weight:900;height:34px;place-items:center;width:34px}.cal-member-name span{display:grid}.cal-member-name b{font-size:12px}.cal-member-name small{color:var(--cal-muted);font-size:10px;font-weight:800}.cal-resource-row>div:not(.cal-member-name){border-right:1px solid #eee8d9;display:grid;min-height:58px;place-items:center}.cal-resource-row>div.free.is-drafting{background:linear-gradient(180deg,rgba(33,110,69,.1),rgba(199,152,36,.14));outline:1px solid rgba(33,110,69,.24);outline-offset:-1px}.cal-free-create{background:transparent;border:0;color:#8aa48f;cursor:pointer;font-family:inherit;font-size:11px;font-weight:900;height:100%;width:100%}.cal-resource-row .busy{background:#fff0dc}.cal-resource-row .busy button{background:transparent;border:0;color:#7a4a00;cursor:pointer;font-size:10.5px;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-empty{color:var(--cal-muted);font-size:13px;font-weight:800;padding:28px}.cal-panel{display:grid;gap:12px;align-content:start;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.cal-adjust-box,.cal-copy-box,.cal-detail,.cal-edit-form,.cal-form,.cal-training-box,.cal-training-form{display:grid;gap:10px;padding:14px}.cal-form.compact{box-shadow:0 12px 26px rgba(42,35,20,.08)}.cal-resource-tools{background:rgba(255,255,255,.94);border:1px solid var(--cal-line);border-radius:8px;box-shadow:0 12px 26px rgba(42,35,20,.08);display:grid;gap:8px;padding:10px}.cal-resource-toggle{background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;color:var(--cal-ink);cursor:pointer;display:grid;gap:2px;font:inherit;min-height:48px;padding:8px 10px;text-align:left}.cal-resource-toggle span{color:var(--cal-gold);font-size:10px;font-weight:900}.cal-resource-toggle b{font-size:12px;font-weight:900}.cal-resource-tools p{color:var(--cal-muted);font-size:11px;font-weight:800;line-height:1.45;margin:0}.cal-resource-tools .cal-form{border:0;box-shadow:none;padding:0}.cal-edit-form{background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;margin-top:2px}.cal-adjust-box,.cal-copy-box,.cal-training-box,.cal-training-form{background:rgba(255,255,255,.94);border:1px solid var(--cal-line);border-radius:8px;box-shadow:0 12px 26px rgba(42,35,20,.08)}.cal-adjust-box p,.cal-copy-box p,.cal-training-box p{color:var(--cal-muted);font-size:12px;font-weight:800;line-height:1.55;margin:0}.cal-adjust-box pre,.cal-copy-box pre{background:#f7f3e8;border:1px solid #ebe2cf;border-radius:8px;color:var(--cal-ink);font-family:inherit;font-size:12px;font-weight:800;line-height:1.55;margin:0;max-height:160px;overflow:auto;overflow-wrap:anywhere;padding:10px;white-space:pre-wrap;word-break:break-word}.cal-adjust-controls{display:grid;gap:8px;grid-template-columns:1fr 1fr}.cal-adjust-controls label{color:var(--cal-muted);display:grid;gap:6px;font-size:11px;font-weight:900}.cal-adjust-controls input,.cal-adjust-controls select{background:#fbfaf4;border:1px solid var(--cal-line);border-radius:8px;color:var(--cal-ink);font-family:inherit;font-size:13px;font-weight:800;min-height:40px;min-width:0;padding:0 10px}.cal-adjust-weekdays{border:0;display:grid;gap:6px;grid-column:1/-1;margin:0;min-width:0;padding:0}.cal-adjust-weekdays legend{color:var(--cal-muted);font-size:11px;font-weight:900;padding:0}.cal-adjust-weekdays div{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-adjust-weekdays label{align-items:center;background:#fbfaf4;border:1px solid var(--cal-line);border-radius:8px;color:var(--cal-ink);display:inline-flex;font-size:12px;font-weight:900;gap:5px;justify-content:center;min-height:34px;padding:0 4px}.cal-adjust-weekdays input{accent-color:var(--cal-green);inline-size:13px}.cal-adjust-members{display:flex;flex-wrap:wrap;gap:7px}.cal-adjust-members label{align-items:center;background:#fbfaf4;border:1px solid #eee8d9;border-radius:999px;color:var(--cal-ink);display:inline-flex;gap:6px;font-size:11px;font-weight:900;min-height:30px;padding:0 10px}.cal-adjust-members input{accent-color:var(--cal-green)}.cal-candidate-list{display:grid;gap:8px}.cal-candidate-list article{align-items:center;background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;display:grid;gap:4px 8px;grid-template-columns:74px minmax(0,1fr);padding:9px 10px}.cal-candidate-list article b{color:var(--cal-green);font-size:12px;font-weight:900}.cal-candidate-list article span{color:var(--cal-ink);font-size:13px;font-weight:900}.cal-candidate-list article small{color:var(--cal-muted);font-size:11px;font-weight:800;grid-column:1/-1;line-height:1.4}.cal-training-list{display:grid;gap:8px}.cal-training-detail,.cal-training-list article,.cal-training-list button{background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;display:grid;gap:4px;padding:10px}.cal-training-list button{cursor:pointer;font:inherit;text-align:left}.cal-training-list.compact button{transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.cal-training-list.compact button.is-active{border-color:#9abd72;box-shadow:0 8px 18px rgba(47,96,42,.11)}.cal-training-list.compact button:hover{transform:translateY(-1px)}.cal-training-detail .cal-panel-title span,.cal-training-list article span,.cal-training-list button span{color:var(--cal-gold);font-size:10px;font-weight:900}.cal-training-detail .cal-panel-title b,.cal-training-list article b,.cal-training-list button b{font-size:13px;font-weight:900}.cal-training-detail small,.cal-training-list article em,.cal-training-list article small,.cal-training-list button em,.cal-training-list button small{color:var(--cal-muted);font-size:11px;font-style:normal;font-weight:800;line-height:1.4}.cal-training-detail{background:#fffaf0;border-color:#e7dcc6;gap:8px}.cal-training-participants{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.cal-training-list article .cal-training-participants span{background:#f1eadc;border:1px solid #e5dcc9;border-radius:999px;color:var(--cal-ink);font-size:10px;font-weight:900;line-height:1.2;max-width:100%;overflow-wrap:anywhere;padding:4px 7px}.cal-training-list article .cal-training-participants strong{color:var(--cal-green);display:inline-block;font-size:9px;font-weight:900;margin-left:5px}.cal-training-status-actions{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.cal-training-status-actions form{min-width:0}.cal-training-status-actions .cal-secondary{min-height:30px;padding:5px 6px;white-space:normal;width:100%}.cal-training-status-actions .cal-secondary:disabled{background:#e7f0df;color:var(--cal-green);opacity:1}.cal-training-edit{background:#fffdf8;border:1px solid #ece3d1;border-radius:8px;display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:8px}.cal-training-edit label{color:var(--cal-muted);display:grid;font-size:10px;font-weight:900;gap:4px;min-width:0}.cal-training-edit button,.cal-training-edit label:first-of-type{grid-column:1/-1}.cal-training-edit input,.cal-training-edit select{background:#ffffff;border:1px solid #ddd2bd;border-radius:7px;color:var(--cal-ink);font:inherit;font-size:11px;font-weight:800;min-width:0;padding:7px 8px}.cal-training-edit .cal-secondary{min-height:32px;padding:6px 8px}.cal-training-roster{display:grid;gap:6px;margin-top:2px}.cal-training-roster-toolbar{align-items:center;background:#f7f0e3;border:1px solid #eadfca;border-radius:8px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:7px}.cal-training-roster-toolbar span{color:var(--cal-muted);font-size:10px;font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-training-roster-toolbar .cal-secondary{min-height:28px;padding:4px 8px}.cal-training-roster form{align-items:center;background:#fffdf8;border:1px solid #ece3d1;border-radius:8px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) 92px 48px 48px;min-width:0;padding:7px}.cal-training-roster form>div{display:grid;gap:2px;min-width:0}.cal-training-roster form b{color:var(--cal-ink);font-size:11px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-training-roster form small,.cal-training-roster>small{color:var(--cal-muted);font-size:10px;font-weight:800;line-height:1.35}.cal-training-roster select{background:#ffffff;border:1px solid #ddd2bd;border-radius:7px;color:var(--cal-ink);font:inherit;font-size:11px;font-weight:900;min-width:0;padding:6px 7px}.cal-training-roster .cal-secondary{min-height:30px;padding:5px 7px}.cal-training-roster .cal-secondary.danger{background:#fff2ec;border-color:#e8c5b5;color:#a64522}.cal-training-add-participant{display:grid;gap:6px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr) 48px;min-width:0}.cal-training-add-participant input{background:#ffffff;border:1px solid #ddd2bd;border-radius:7px;color:var(--cal-ink);font:inherit;font-size:11px;font-weight:800;min-width:0;padding:7px 8px}.cal-training-add-participant .cal-secondary{min-height:32px;padding:5px 7px}.cal-training-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-width:0}.cal-training-actions .cal-secondary{min-height:34px;padding:7px 10px;white-space:normal}.cal-panel-title{display:grid;gap:3px}.cal-panel-title.tight{gap:2px}.cal-panel-title b{font-size:16px;font-weight:900}.cal-edit-form label,.cal-form label,.cal-training-form label{color:var(--cal-muted);display:grid;gap:6px;font-size:11px;font-weight:900}.cal-edit-form input,.cal-edit-form select,.cal-edit-form textarea,.cal-form input,.cal-form select,.cal-form textarea,.cal-training-form input,.cal-training-form select,.cal-training-form textarea{background:#fbfaf4;border:1px solid var(--cal-line);border-radius:8px;color:var(--cal-ink);font-family:inherit;font-size:13px;font-weight:800;min-height:40px;min-width:0;padding:0 10px}.cal-edit-form textarea,.cal-form textarea,.cal-training-form textarea{line-height:1.5;min-height:74px;padding:10px;resize:vertical}.cal-edit-form select[multiple],.cal-form select[multiple],.cal-training-form select[multiple]{min-height:98px;padding:8px}.cal-form-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.cal-check{align-items:center;display:flex!important;flex-direction:row;gap:8px!important}.cal-check input{min-height:auto;width:auto}.cal-primary,.cal-secondary{border:0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;min-height:42px}.cal-primary{background:var(--cal-green);color:#fff}.cal-secondary{background:#151713;color:#fff}.cal-secondary.ghost{background:#fbfaf4;border:1px solid var(--cal-line);color:var(--cal-ink)}.cal-primary:disabled,.cal-secondary:disabled,.cal-status-actions button:disabled{cursor:not-allowed;opacity:.48}.cal-detail dl{display:grid;gap:8px;margin:0}.cal-detail dl div{border-bottom:1px solid #eee8d9;display:grid;gap:8px;grid-template-columns:74px minmax(0,1fr);padding-bottom:7px}.cal-detail dt{color:var(--cal-muted);font-size:11px;font-weight:900}.cal-detail dd{color:var(--cal-ink);font-size:12px;font-weight:900;margin:0;min-width:0;overflow-wrap:anywhere}.cal-detail p{background:#faf7ee;border-radius:8px;color:var(--cal-muted);font-size:12px;font-weight:800;line-height:1.55;margin:0;padding:10px}.cal-external-draft{border-top:1px solid #eee8d9;display:grid;gap:9px;padding-top:10px}.cal-smart-suggest{background:#fbfaf4;border:1px solid #eee8d9;border-radius:8px;display:grid;gap:9px;padding:11px}.cal-external-draft small,.cal-smart-suggest small{color:var(--cal-muted);font-size:11px;font-weight:800;line-height:1.45}.cal-external-draft em{background:#eef6ec;border:1px solid #c8dfc7;border-radius:8px;color:var(--cal-green);font-size:11px;font-style:normal;font-weight:800;line-height:1.45;padding:8px 9px}.cal-smart-suggest em,.cal-smart-suggest p{color:var(--cal-muted);font-size:11px;font-style:normal;font-weight:800;line-height:1.5;margin:0}.cal-smart-suggest em{background:#fff8df;border:1px solid #ecd88d;border-radius:8px;color:#765a0a;padding:8px 9px}.cal-conflict-preview{border-radius:8px;display:grid;gap:5px;padding:9px 10px}.cal-conflict-preview b{color:var(--cal-ink);font-size:12px;font-weight:950}.cal-conflict-preview small,.cal-conflict-preview span{font-size:11px;font-weight:800;line-height:1.45}.cal-conflict-preview small{display:block;overflow-wrap:anywhere}.cal-conflict-preview.safe{background:#eef6ec;border:1px solid #c8dfc7}.cal-conflict-preview.warning{background:#fff8df;border:1px solid #ecd88d}.cal-conflict-preview.invalid{background:#fff0ee;border:1px solid #efb5aa}.cal-conflict-preview.info{background:#f4f1e8;border:1px solid #e3dac8}.cal-conflict-preview.safe small,.cal-conflict-preview.safe span{color:var(--cal-green)}.cal-conflict-preview.warning small,.cal-conflict-preview.warning span{color:#765a0a}.cal-conflict-preview.invalid small,.cal-conflict-preview.invalid span{color:#a23a2c}.cal-conflict-preview.info small,.cal-conflict-preview.info span{color:var(--cal-muted)}.cal-smart-list{display:grid;gap:8px}.cal-smart-list article{background:#fff;border:1px solid var(--cal-line);border-radius:8px;display:grid;gap:5px;padding:10px}.cal-smart-list article span{color:var(--cal-gold);font-size:10px;font-weight:900}.cal-smart-list article b{color:var(--cal-ink);font-size:13px;font-weight:900;line-height:1.35}.cal-smart-list article button{margin-top:3px}.cal-external-actions,.cal-provider-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr}.cal-external-draft pre{background:#f7f3e8;border:1px solid #ebe2cf;border-radius:8px;color:var(--cal-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:10.5px;font-weight:700;line-height:1.45;margin:0;max-height:122px;max-width:100%;overflow:auto;overflow-wrap:anywhere;padding:10px;white-space:pre-wrap;word-break:break-word}.cal-detail.empty{color:var(--cal-muted);font-size:13px;font-weight:800}.cal-status-actions{display:flex;flex-wrap:wrap;gap:7px}.cal-status-actions button{background:#fff;border:1px solid var(--cal-line);border-radius:8px;color:var(--cal-ink);font-size:11px;font-weight:900;min-height:34px;padding:0 10px}.cal-harness{background:rgba(21,23,19,.94);border:1px solid rgba(255,255,255,.14);border-radius:8px;bottom:14px;box-shadow:0 18px 40px rgba(0,0,0,.24);color:#fff;display:grid;gap:8px;left:14px;max-width:520px;padding:11px;position:fixed;right:auto;width:min(520px,calc(100vw - 28px));z-index:50}.cal-harness-head{display:grid;gap:2px}.cal-harness-head span{color:#f0c94f;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.cal-harness-head b{font-size:14px;font-weight:900}.cal-harness dl{display:grid;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr));margin:0}.cal-harness dl div{background:rgba(255,255,255,.08);border-radius:7px;display:grid;gap:2px;min-width:0;padding:6px}.cal-harness dd,.cal-harness dt,.cal-harness p,.cal-harness small{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-harness dt{color:rgba(255,255,255,.56);font-size:9px;font-weight:900}.cal-harness dd,.cal-harness p,.cal-harness small{color:rgba(255,255,255,.86);font-size:11px;font-weight:800}.cal-harness-actions{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-harness-actions button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:7px;color:#fff;cursor:pointer;font:inherit;font-size:10px;font-weight:900;min-height:30px;padding:0 5px}.color-ink,.color-slate{background:#20241f}.color-green{background:var(--cal-green)}.color-gold{background:var(--cal-gold)}.color-blue{background:var(--cal-blue)}.color-red{background:var(--cal-red)}.color-violet{background:#6d58ad}.color-teal{background:#1b7f7a}@media (min-width:768px){.cal-root .cal-day-view,.cal-root .cal-month-board,.cal-root .cal-resource,.cal-root .cal-today-ops,.cal-root .cal-week{border-color:var(--line);box-shadow:var(--shadow-1)}.cal-root .cal-month-dow-cell,.cal-root .cal-week-head button span{color:var(--ink-500);font-weight:720}.cal-root .cal-day-cell-num{color:var(--ink-900);font-size:14px;font-weight:720}.cal-root .cal-day-cell.selected{background:var(--brand-blue-mist);outline-color:var(--brand-blue)}.cal-root .cal-month-event-chip,.cal-root .cal-month-range-segment{min-height:21px;color:var(--ink-900);font-size:11px;font-weight:720;box-shadow:0 1px 3px rgba(15,44,76,.08)}.cal-root .cal-month-event-chip .cal-ev-time,.cal-root .cal-month-range-segment__continuation,.cal-root .cal-month-range-segment__duration{font-weight:760}.cal-root .cal-month-more-btn{color:var(--brand-deep);font-size:11px;font-weight:760}.cal-root .cal-week-head button{color:var(--ink-900);background:var(--paper-warm)}.cal-root .cal-week-head button.active{color:var(--brand-deep);background:var(--brand-blue-soft);box-shadow:inset 0 -3px 0 var(--brand-blue)}.cal-root .cal-day-title b,.cal-root .cal-panel-title b,.cal-root .cal-week-head button b{color:var(--brand-navy);font-weight:780}.cal-root .cal-day-chip b,.cal-root .cal-plan-block b{font-size:12.5px;font-weight:780}.cal-root .cal-day-chip span,.cal-root .cal-plan-block small,.cal-root .cal-plan-block span{font-weight:720;opacity:.94}.cal-root .cal-resource-head{background:var(--brand-navy)}.cal-root .cal-member-name b{color:var(--brand-navy);font-size:13px;font-weight:760}.cal-root .cal-member-name small{color:var(--ink-500);font-size:11px}.cal-root .cal-resource-row .busy{background:var(--gold-soft)}.cal-root .cal-resource-row .busy button{color:var(--gold-deep)}.cal-root .cal-free-create{color:var(--success)}.cal-root .cal-smart-list article b,.cal-root .cal-today-ops b{color:var(--brand-navy)}.cal-root .cal-smart-list article span,.cal-root .cal-today-ops small,.cal-root .cal-today-ops span{color:var(--ink-500)}}@media (max-width:1240px){.cal-root{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.cal-rail{display:none}.cal-app-main,.cal-main{height:auto;overflow:visible}.cal-main.is-training-module{height:100vh;overflow:hidden}.cal-main.is-training-module .ws,.cal-rail-left{display:none}.cal-workspace{--cal-hour-size:52px;flex:none;grid-template-columns:1fr}.cal-today-ops{grid-template-columns:160px minmax(0,1fr)}.cal-today-ops-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.cal-quick-popover{bottom:auto;left:12px;right:12px;top:12px;width:auto}.cal-board,.cal-panel{overflow:visible}.cal-panel{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;padding-right:0;scrollbar-gutter:auto}.cal-adjust-box,.cal-copy-box,.cal-detail{grid-column:1/-1}}@media (max-width:760px){.cal-root{background:var(--surface)}.cal-main{gap:12px;padding:12px}.cal-mobile-ops{background:var(--ink-900);border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px;position:sticky;top:8px;z-index:10}.cal-mobile-ops button{background:rgba(255,255,255,.09);border:0;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:900;min-height:36px;padding:0 4px}.cal-adjust-controls,.cal-external-actions,.cal-form-grid,.cal-kpis,.cal-panel,.cal-provider-actions,.cal-quick-actions,.cal-quick-duration,.cal-quick-grid,.cal-today-ops,.cal-today-ops-list{grid-template-columns:1fr}.cal-kpis{gap:8px}.cal-kpis>div{padding:11px}.cal-kpis b{font-size:24px}.cal-workspace{gap:12px;min-height:0}.cal-today-ops{align-items:stretch;min-height:0}.cal-quick-popover{max-height:calc(100vh - 88px)}.cal-harness{bottom:10px;left:10px;right:10px;width:auto}.cal-harness dl,.cal-harness-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-week-grid,.cal-week-head{grid-template-columns:52px repeat(7,180px);min-width:1312px}.cal-week-corner{min-height:48px}.cal-month-board{min-width:760px;overflow-x:auto}.cal-board{overflow:hidden}.cal-resource-head,.cal-resource-row{grid-template-columns:156px repeat(24,64px);min-width:calc(156px + 24 * 64px)}.cal-adjust-box,.cal-copy-box,.cal-detail,.cal-edit-form,.cal-form,.cal-training-box,.cal-training-form{padding:12px}.cal-copy-box pre{max-height:220px}.cal-training-edit{grid-template-columns:1fr}.cal-training-edit button,.cal-training-edit label:first-of-type{grid-column:auto}.cal-training-add-participant{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cal-training-add-participant .cal-secondary,.cal-training-add-participant input[name=email]{grid-column:1/-1}}