:root{--navy:#14243b;--navy2:#203752;--silver:#a7afba;--bg:#f3f5f8;--ink:#233247;--muted:#748094;--line:#e5e9ef;--green:#3b7c68;--red:#ac5157;--gold:#a07b42;--radius:16px}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #7b9dc6;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px;margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:600;transition:transform .15s,box-shadow .15s}.primary{background:var(--navy);color:white;box-shadow:0 4px 8px #14243b15}.secondary{background:white;border:1px solid var(--line)}.danger{background:#fff1f1;color:var(--red)}.primary:hover,.secondary:hover,.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #14243b12}.icon-button{font-size:24px;border-radius:8px;padding:2px 10px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 2px 5px #14243b02}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #dce2ea;border-radius:9px;background:white;color:var(--ink);margin-top:6px;outline:none}input:focus,select:focus,textarea:focus{border-color:#6888ae;box-shadow:0 0 0 3px #6888ae15}input[type=checkbox]{display:inline;width:16px;height:16px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--navy)}textarea{resize:vertical;min-height:100px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.notice{padding:12px;border-radius:8px;font-size:13px}.error{background:#fff0f0;color:var(--red)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{min-height:100vh;background:var(--navy);color:white;padding:64px;display:flex;flex-direction:column;justify-content:space-between;background-image:radial-gradient(ellipse at 100% 0,#2e4866 0,transparent 60%)}.login-story img{width:260px}.login-story h1{font-size:48px;line-height:1.14;letter-spacing:-2px}.login-story p{color:#c0cad7;font-size:16px}.login-story .eyebrow{color:#a7b9cf}.login-form{align-self:center;width:100%;max-width:470px;padding:40px;margin:auto}.login-form h2{font-size:29px}.login-form form{margin:32px 0}.login-form .primary{width:100%}.mobile-brand{display:none}#sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--navy);color:#aebdd0;display:flex;flex-direction:column;padding:32px 18px;z-index:20}.brand{padding:2px 12px 36px}.brand img{width:182px;display:block}.nav-label{font-size:9px;font-weight:600;letter-spacing:2px;padding:0 16px 14px;color:#8295ad}nav{display:flex;flex-direction:column;gap:5px}nav a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:9px;font-size:13px}nav a:hover{background:#ffffff08;color:white}nav a.active{background:#ffffff12;color:white;box-shadow:inset 3px 0 0 #bac6d6}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.side-bottom{margin-top:auto;padding:32px 16px 0;font-size:11px}.side-bottom small{display:block;color:#788ba4;font-size:10px;margin-top:6px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9ab6aa;margin-right:6px}.workspace{margin-left:238px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 36px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{padding:0 10px;color:#bec6d1}.breadcrumb b{color:var(--ink);font-weight:500}.search-trigger{margin-left:auto;border:1px solid var(--line);border-radius:8px;padding:8px 13px;color:var(--muted);display:flex;gap:12px;align-items:center}.account{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{display:grid;place-items:center;background:#e8edf3;color:var(--navy);width:34px;height:34px;border-radius:50%;font-weight:700}.account svg{width:12px}#menu-toggle{display:none}#content{padding:36px;max-width:1550px;width:100%;margin:auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{margin-bottom:0}.date-pill{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#ffffff8c;font-size:12px;color:var(--muted)}.hero{background:linear-gradient(110deg,#14243b,#2a405c);border:0;color:white;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:30px 32px;overflow:hidden}.hero .eyebrow{color:#afc1d6}.hero h2{font-size:26px;margin-bottom:8px}.hero p{color:#c0ccda;margin-bottom:0}.hero-icon{color:#b8c6d5;opacity:.3;transform:rotate(-10deg)}.hero-icon svg{width:80px;height:80px;stroke-width:.8}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat{padding:20px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:27px;margin:10px 0 1px;font-weight:600;letter-spacing:-1px}.stat small{color:var(--muted);font-size:11px}.stat .icon{width:17px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.section-heading h3{margin:0}.section-heading a{font-size:12px;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.module-card{display:block;transition:.18s;padding:21px;position:relative;min-height:158px}.module-icon{width:42px;height:42px;background:#f0f3f7;border-radius:11px;display:grid;place-items:center;color:#425b77;margin-bottom:18px}.module-card h3{font-size:14px;margin:0 0 5px}.module-card p{font-size:11px;color:var(--muted);margin:0}.module-card .arrow{position:absolute;right:20px;top:24px;color:#b0bac7}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px}.row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row-main{min-width:0;flex:1}.row-main strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.row-main small{color:var(--muted);font-size:11px}.row-actions{display:flex;gap:6px;align-items:center}.text-button{color:var(--muted);font-size:12px;padding:6px}.text-button:hover{color:var(--navy)}.empty{padding:36px 16px;text-align:center;color:var(--muted);font-size:13px}.empty svg{display:block;width:30px;height:30px;margin:0 auto 12px;color:#aab6c5}.empty p{margin:0}.badge{display:inline-block;font-size:10px;padding:4px 8px;border-radius:6px;background:#f0f3f7;color:#6c7d91}.badge.high{background:#fbeeee;color:#ad5c5c}.badge.done,.badge.paid{background:#eaf4ef;color:#447c65}.badge.doing{background:#ecf0f8;color:#57749d}.badge.overdue{color:#ad5c5c;background:#fbeeee}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.toolbar input{width:250px;margin:0}.toolbar select{width:auto;min-width:150px;margin:0}.toolbar .count{margin-left:auto;font-size:12px;color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.kanban-column{background:#e9edf3;border-radius:14px;padding:14px;min-height:350px}.kanban-column.drag-over{outline:2px dashed #8ba2bd;background:#e1e8f1}.column-title{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 4px 15px;font-weight:600}.column-title span:last-child{margin-left:auto;font-size:11px;color:var(--muted)}.column-dot{height:7px;width:7px;background:#9aa8b9;border-radius:50%}.column-dot.doing{background:#6885ae}.column-dot.done{background:#6a9a82}.task-card{background:white;border:1px solid #e1e6ee;border-radius:11px;padding:16px;margin-bottom:10px;box-shadow:0 2px 3px #14243b03;cursor:grab}.task-card h3{font-size:13px;margin:10px 0}.task-card p{font-size:11px;color:var(--muted);white-space:pre-wrap;max-height:44px;overflow:hidden}.task-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:10px;color:var(--muted)}.task-footer select{font-size:10px;width:115px;padding:4px;margin:0}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.note-preview{white-space:pre-wrap;color:var(--muted);font-size:12px;max-height:150px;overflow:hidden;margin-top:12px;overflow-wrap:anywhere}.progress{height:6px;background:#e9edf3;border-radius:4px;overflow:hidden;margin:18px 0 10px}.progress-bar{height:6px;background:#617e9d;border-radius:4px}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#f8f9fb;font-size:10px;color:var(--muted);letter-spacing:.5px;font-weight:600;padding:15px 18px;white-space:nowrap}td{padding:16px 18px;border-top:1px solid var(--line)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.check-label{font-size:12px;display:flex;align-items:center;gap:3px;margin:8px 0}.album-cover{height:150px;background:#eef1f5;border-radius:10px;margin:-8px -8px 16px;display:grid;place-items:center;overflow:hidden}.album-cover img{width:100%;height:100%;object-fit:cover}.album-cover svg{width:38px;height:38px;color:#8798ae}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.photo-card{padding:8px}.photo-open{display:block;width:100%;padding:0}.photo-open img{display:block;width:100%;height:190px;object-fit:cover;border-radius:10px}.photo-caption{font-size:11px;padding:8px 4px;overflow-wrap:anywhere}.photo-caption .text-button{padding:2px}.upload-zone{border:1px dashed #aab7c7;border-radius:12px;background:#f8fafc;padding:24px;margin-bottom:24px}.upload-zone input{border:0;background:none;padding:0}.upload-zone label{margin-bottom:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:12px 22px;border-radius:10px;z-index:100;font-size:13px;max-width:90%;box-shadow:0 6px 24px #14243b33}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:620px;max-width:94vw;max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #14243b33}dialog::backdrop{background:#0a172b88;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-head h2{margin:0}.dialog-head .eyebrow{font-size:9px}.dialog-head .icon-button{margin-top:-10px;margin-right:-8px}.form-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:14px;gap:10px}.save-state{font-size:11px;color:var(--muted)}.save-state.failed{color:var(--red)}.search-results .row{cursor:pointer}.search-results .row:hover{background:#f7f9fb}.user-permissions{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px}.agenda-day{margin-bottom:20px}.agenda-date{width:50px;align-self:start;text-align:center;background:#f1f4f8;border-radius:9px;padding:8px}.agenda-date b{display:block;font-size:20px}.agenda-date small{font-size:9px;color:var(--muted)}.account-options{display:grid;gap:10px}.account-options button,.account-options a{text-align:left;padding:14px;border:1px solid var(--line);border-radius:9px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-head{font-size:10px;text-align:center;color:var(--muted);padding:8px}.calendar-cell{min-height:105px;background:white;border:1px solid var(--line);border-radius:8px;padding:8px;overflow:hidden}.calendar-cell.today{border-color:#7894b3;background:#f4f7fb}.calendar-cell.blank{background:transparent;border-color:transparent}.calendar-number{font-size:11px;color:var(--muted)}.calendar-event{display:block;text-align:left;width:100%;padding:4px 5px;background:#edf1f6;margin-top:5px;border-radius:4px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-controls{display:flex;gap:12px;align-items:center;margin-bottom:20px}.calendar-controls h3{margin:0;min-width:160px;text-align:center}.calendar-controls .secondary{padding:6px 12px}#lightbox{width:1000px;background:#111e2f;color:white;padding:18px}#large-photo{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain}#close-lightbox{position:absolute;right:18px;top:12px;background:#14243ba0;color:white}#photo-detail{padding:16px 8px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 36px;font-size:10px;color:#93a0b1}.setup-body{padding:40px 20px}.setup{max-width:720px;margin:auto;padding:36px}.setup-logo{width:230px;display:block;margin-bottom:36px}.setup h1{font-size:26px}.setup h3{margin-top:24px}.setup .primary{width:100%;margin:12px 0 20px}
@media(min-width:1500px){.module-card{min-height:174px}}@media(max-width:1200px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar,#content{padding-left:24px;padding-right:24px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:24px}.date-pill{display:none}}@media(max-width:950px){#sidebar{width:210px;padding-left:12px;padding-right:12px}.workspace{margin-left:210px}.brand img{width:162px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-bottom{grid-template-columns:1fr}.search-trigger span{display:none}.kanban{gap:10px}.kanban-column{padding:8px}.task-card{padding:12px}.login-story{padding:40px}.login-story h1{font-size:38px}.login-story img{width:220px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){#sidebar{transform:translateX(-100%);transition:.2s;width:238px;box-shadow:10px 0 40px #14243b22}#sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{height:66px;padding:0 16px;gap:10px}#menu-toggle{display:block;font-size:19px}.breadcrumb{font-size:11px}.breadcrumb>span{padding:0 5px}.account{gap:5px}#account-name{display:none}#content{padding:24px 16px}.page-heading{align-items:start;gap:12px}.page-heading h1{font-size:27px}.page-heading .primary{font-size:11px;padding:10px 12px;white-space:nowrap}.page-heading p{font-size:12px}.hero{padding:24px}.hero h2{font-size:23px}.hero p{font-size:12px}.hero-icon{display:none}.stats{margin-bottom:24px}.stat strong{font-size:25px}.module-grid{gap:12px}.module-card{padding:18px;min-height:150px}.module-card p{font-size:11px}.card{border-radius:12px}.home-bottom .card{padding:20px}.kanban{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.kanban-column{flex:0 0 86%;scroll-snap-align:start;padding:12px;min-height:300px}.grid-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.login-wrap{grid-template-columns:1fr}.login-story{display:none}.login-form{padding:28px;max-width:450px}.mobile-brand{display:block;margin-bottom:60px}.mobile-brand img{width:230px}.login-form h2{font-size:26px}.toolbar input{width:100%}.toolbar select{flex:1;min-width:120px}.toolbar .count{width:100%}.photo-grid{gap:10px}.photo-open img{height:150px}.photo-caption{font-size:10px}.photo-caption .row-actions{flex-wrap:wrap}footer{padding:16px;font-size:9px}footer span{display:none}.setup{padding:24px}.setup-body{padding:16px}.calendar-cell{min-height:75px;padding:4px}.calendar-event{font-size:9px;padding:3px 2px}.calendar-controls h3{min-width:130px;font-size:13px}.calendar{gap:2px}dialog{padding:22px}.user-permissions{grid-template-columns:1fr 1fr}.form-actions{flex-wrap:wrap}.upload-zone{padding:16px}.table-wrap{border-radius:12px}.hero .eyebrow{font-size:9px}.search-trigger{padding:6px 10px}}

.attachments{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.attachments h3{font-size:14px}
