@font-face{font-family:system;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f4f4ee;color:#202624;font:14px system,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:#416016}button{border:1px solid #d4d8d0;background:white;color:#202624;border-radius:9px;padding:10px 15px;font-weight:600}button:hover{background:#eff3e5}button.primary{background:#d5fb46;border-color:#d5fb46;color:#141617}button.dark{background:#202624;color:white;border-color:#202624}button.danger{color:#a63935}button.small{font-size:12px;padding:7px 10px}button.ghost{background:transparent;border-color:transparent}.loading{padding:60px;color:#6a746b}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100dvh}.sidebar{background:#141617;color:#eff3e6;padding:23px 17px;position:fixed;width:236px;height:100dvh;overflow:auto;z-index:30;display:flex;flex-direction:column}.brand{width:196px;height:56px;object-fit:contain;object-position:left;display:block}.brand-caption{font-size:9px;letter-spacing:2.2px;color:#a0ab9b;margin:3px 13px 24px}.nav-group{font-size:9px;letter-spacing:1.7px;color:#859080;margin:21px 13px 10px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;border-radius:7px;padding:10px 12px;background:transparent;color:#b9c2b4;font-size:12px;margin:2px 0;font-weight:500}.nav-item:hover{background:#262c26;color:#fff}.nav-item.active{background:#d5fb46;color:#141617;font-weight:700}.nav-icon{width:17px;text-align:center;font-size:17px}.sidebar-bottom{margin-top:auto;padding-top:25px;color:#8c9789;font-size:10px;line-height:1.7}.main{grid-column:2;min-width:0}.topbar{padding:19px 34px;background:#ffffffad;border-bottom:1px solid #e0e3d9;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:77px;position:sticky;top:0;backdrop-filter:blur(18px);z-index:20}.crumb{font-size:11px;color:#77816f;letter-spacing:.7px}.account{display:flex;align-items:center;gap:11px;font-size:12px}.avatar-letter{width:33px;height:33px;background:#e4eadc;border-radius:50%;display:grid;place-items:center;font-weight:700}.page{max-width:1550px;margin:0 auto;padding:32px 34px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#6d7a60;font-weight:700;margin-bottom:9px}h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px;font-weight:650}h2{font-size:18px;font-weight:650;margin:0 0 15px}h3{font-size:14px;margin:0 0 10px}.muted{color:#75806f;font-size:12px;line-height:1.7}.hero{background:#202823;color:#edf3e5;border-radius:16px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;min-height:160px;margin-bottom:24px;position:relative}.hero .eyebrow{color:#d5fb46}.hero h2{font-size:26px;max-width:450px;letter-spacing:-.5px;line-height:1.25;margin-bottom:12px}.hero .muted{color:#aebba5}.hero-art{font-size:105px;line-height:1;color:#d5fb46;transform:rotate(-12deg);opacity:.85;margin:0 35px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #e0e5d7;border-radius:12px;padding:20px;min-width:0}.card.stat{padding:21px}.stat-label{font-size:11px;color:#707c66}.stat-number{font-size:32px;font-weight:650;letter-spacing:-1px;margin:8px 0 5px}.stat-foot{font-size:10px;color:#839075}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.module-link{color:inherit;text-decoration:none;display:block;transition:transform .15s}.module-link:hover{transform:translateY(-3px);border-color:#bed356}.module-icon{width:35px;height:35px;background:#edf3e4;display:grid;place-items:center;border-radius:9px;font-size:21px;color:#566a33}.section-gap{margin-top:27px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.toolbar input{max-width:360px}.toolbar select{width:auto;min-width:155px}.row{display:flex;gap:10px;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1}.table-wrap{background:#fff;border:1px solid #e0e5d7;border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:15px 17px;border-bottom:1px solid #edf0e7;font-size:12px}th{font-size:10px;color:#7b8671;background:#fafbf7;text-transform:uppercase;letter-spacing:.7px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf8}.table-title{font-weight:600;white-space:normal;min-width:150px;max-width:320px}.pill{display:inline-flex;padding:4px 9px;border-radius:20px;background:#edf1e8;color:#58664e;font-size:10px;line-height:1.5;white-space:nowrap}.pill.green{background:#e4f2bc;color:#3d5723}.pill.red{background:#f8e6df;color:#a34f39}.pill.blue{background:#e3eef4;color:#3e6b87}.empty{padding:55px 25px;text-align:center;color:#78866d}.empty-symbol{font-size:36px;color:#a6b87b;margin-bottom:14px}.empty h3{color:#35432c;font-size:17px}.empty p{font-size:12px;line-height:1.7;max-width:440px;margin:10px auto 18px}.alert{padding:14px 17px;border-radius:9px;background:#f1ebd4;border:1px solid #e8ddb2;color:#776629;font-size:12px;line-height:1.7;margin-bottom:20px}.alert.green{background:#edf5d8;border-color:#d9e8b3;color:#4d662e}.detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:20px}.detail-title{display:flex;align-items:center;gap:12px;margin:10px 0 22px}.detail-title h1{margin:0}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.meta-label{font-size:10px;color:#8b957d;letter-spacing:.4px;text-transform:uppercase;margin-bottom:5px}.meta-value{font-size:13px;white-space:pre-wrap;word-break:break-word}.notes-block{white-space:pre-wrap;line-height:1.8;font-size:13px}.file-list{display:grid;gap:9px;margin-top:15px}.file-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e3e9da;border-radius:7px;font-size:12px;word-break:break-word}.file-item img{width:55px;height:45px;object-fit:cover;border-radius:5px}.file-item a{word-break:break-word}.card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.timeline{font-size:12px;line-height:1.8}.timeline>div{padding:10px 0;border-bottom:1px solid #edf0e7}label{display:block;font-size:11px;color:#59654f;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d7dfce;border-radius:7px;background:#fff;color:#202624;min-width:0}textarea{min-height:95px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#98b637;outline:2px solid #e5efc9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field.full{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.dialog-header h2{font-size:22px}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.form-error{color:#a73625;background:#ffede7;padding:10px;border-radius:6px;font-size:12px;margin-top:12px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;max-height:300px;overflow:auto;border:1px solid #e1e7d7;padding:15px;margin-top:15px}.permission-grid label{font-size:11px}.permission-group{padding:8px 0;border-top:1px solid #eef1e7}.quote-items{grid-column:1/-1;background:#f7f9f2;padding:12px;border-radius:8px}.quote-item{display:grid;grid-template-columns:1fr 68px 105px 35px;gap:7px;margin-bottom:9px}.quote-item input{padding:9px;font-size:12px}.quote-totals{padding:14px 0 0;text-align:right;font-weight:600}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-story{background:#141617;padding:55px 60px;color:#f4f4ee;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story>img{width:300px;max-width:100%;margin-bottom:70px}.login-story h1{font-size:48px;line-height:1.12;max-width:480px;margin-bottom:22px}.login-story p{color:#a3b196;max-width:360px;line-height:1.8}.login-glyph{position:absolute;right:-20px;bottom:-60px;font-size:300px;color:#d5fb461a;transform:rotate(-20deg)}.login-main{display:grid;place-items:center;padding:45px}.login-box{max-width:380px;width:100%}.login-box h2{font-size:25px}.login-box label{margin-top:18px}.login-box button[type=submit]{width:100%;margin-top:25px}.login-box .alert{margin-top:20px}.setup-note{font-size:11px;color:#7c866f;margin-top:18px;line-height:1.6}dialog{border:1px solid #d7dfce;border-radius:17px;width:min(740px,calc(100% - 28px));padding:28px;max-height:90dvh;overflow:auto;box-shadow:0 25px 80px #0003}dialog::backdrop{background:#121a12a8;backdrop-filter:blur(5px)}#toast{position:fixed;bottom:25px;right:25px;background:#202823;color:white;padding:14px 20px;border-radius:10px;z-index:100;display:none;max-width:400px;font-size:12px;box-shadow:0 7px 25px #0003}.kanban{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:13px;overflow:auto;padding-bottom:18px}.kanban-column{background:#e9ede2;border-radius:11px;padding:12px;min-height:240px}.kanban-title{display:flex;justify-content:space-between;font-size:11px;color:#56634a;margin:2px 0 15px}.job-card{background:white;border:1px solid #dce4cf;border-radius:9px;padding:15px;margin:9px 0;cursor:pointer}.job-card:hover{border-color:#99b839}.job-card strong{font-size:13px;display:block;margin-bottom:9px}.job-card .muted{font-size:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:#a7c14b;display:inline-block;margin-right:5px}.board-wrap{height:calc(100dvh - 285px);min-height:420px;border:1px solid #d1dbc4;border-radius:14px;overflow:auto;background:#e4e9da;background-image:radial-gradient(#a8b59b 1px,transparent 1px);background-size:22px 22px;position:relative}.board-canvas{width:4400px;height:3400px;position:relative}.sticky{position:absolute;padding:22px 18px 15px;border-radius:3px 3px 18px 3px;background:#fff3c4;box-shadow:1px 7px 15px #24341a1c;min-height:145px;touch-action:none;user-select:none;cursor:grab;transform:rotate(-1deg);border:1px solid #00000009}.sticky:nth-child(even){transform:rotate(1deg)}.sticky[data-color=lime]{background:#def49a}.sticky[data-color=pink]{background:#ffd5de}.sticky[data-color=blue]{background:#cfebf4}.sticky[data-color=violet]{background:#e2d8fc}.sticky .tape{height:21px;width:65px;background:#ffffff66;position:absolute;top:-9px;left:38%;transform:rotate(-5deg)}.sticky .emoji{font-size:25px;margin-bottom:9px}.sticky .sticky-body{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;pointer-events:none}.sticky img{width:100%;max-height:180px;object-fit:cover;border-radius:3px;margin:9px 0}.sticky .sticky-tools{display:flex;gap:4px;justify-content:flex-end;margin-top:15px}.sticky .sticky-tools button{background:#ffffff66;font-size:10px;padding:4px 7px;border:0}.sticky .author{font-size:9px;color:#657151}.board-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.board-title{font-size:19px;font-weight:650}.schedule{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dfe5d7;border:1px solid #dfe5d7;border-radius:10px;overflow:hidden}.calendar-cell{background:white;min-height:95px;padding:9px;font-size:11px}.calendar-cell.dim{background:#f6f7f1;color:#b3bba9}.calendar-cell.today{background:#f1f8df}.calendar-entry{font-size:10px;white-space:normal;background:#e7f0ce;padding:5px;margin-top:5px;cursor:pointer;border-radius:3px}.calendar-weekday{background:#eff2e9;padding:9px;text-align:center;font-size:10px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #edf1e6;font-size:12px}.bar{height:6px;background:#edf1e6;border-radius:9px;margin-top:9px;overflow:hidden}.bar span{height:100%;display:block;background:#b3d64e}.no-print{}.menu-toggle{display:none}.file-drop{border:1px dashed #b5c495;padding:14px;border-radius:8px;font-size:12px;display:block;text-align:center;cursor:pointer;background:#f8faf4}.file-drop input{margin-top:10px;font-size:11px}.subheading{font-size:12px;font-weight:600;margin:18px 0 11px}.quote-print{display:none}@media(min-width:1500px){.page{padding:38px 46px}.topbar{padding:19px 46px}}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}.sidebar{width:210px}.shell{grid-template-columns:210px 1fr}.page{padding:26px 23px}.topbar{padding:17px 23px}.hero-art{font-size:80px;margin-right:5px}}@media(max-width:760px){.shell{display:block}.sidebar{transform:translateX(-100%);width:236px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0007}.main{width:100%}.menu-toggle{display:inline-block;padding:5px 8px}.page{padding:24px 16px}.topbar{padding:12px 16px;min-height:60px}.account .user-name{display:none}.grid,.grid.three,.grid.two{grid-template-columns:1fr}.grid.metrics{grid-template-columns:1fr 1fr;gap:10px}.card.stat{padding:16px}.stat-number{font-size:26px}.hero{padding:24px}.hero h2{font-size:23px}.hero-art{font-size:60px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-heading button{white-space:nowrap}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.login{display:block}.login-story{padding:30px;min-height:260px}.login-story>img{width:220px;margin-bottom:30px}.login-story h1{font-size:33px}.login-story p{display:none}.login-glyph{font-size:190px}.login-main{padding:30px}.calendar-cell{min-height:70px;padding:5px}.calendar-entry{font-size:8px;padding:3px}.board-wrap{height:65dvh}.permission-grid{grid-template-columns:1fr}.meta-grid{grid-template-columns:1fr 1fr}dialog{padding:21px}.quote-item{grid-template-columns:1fr 50px 75px 30px;gap:4px}.quote-item input{padding:7px 5px}.board-toolbar{flex-wrap:wrap}}@media print{body{background:#fff}.shell,.no-print,#toast,dialog{display:none!important}.quote-print{display:block;padding:25px;color:black}.quote-print img{width:200px;filter:brightness(0)}.quote-print table{white-space:normal}.quote-print h1{font-size:27px}.quote-print .totals{margin:25px 0;text-align:right}.quote-print .footer{margin-top:35px;font-size:10px;color:#555}}
