:root{font-family:system-ui,sans-serif;color:#183323;background:#f3f7f3}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dae6dc;padding:20px max(20px,calc((100% - 1000px)/2));display:flex;gap:20px;align-items:center}header a{font-size:27px;font-weight:900;color:#087a18;text-decoration:none}header span{font-size:14px}main{max-width:1000px;margin:35px auto;padding:0 20px 70px}.card{background:#fff;border:1px solid #d5e2d7;border-radius:16px;padding:28px;margin-bottom:24px}#login{max-width:500px;margin:auto}h1{font-size:32px;margin:8px 0 20px}h2{font-size:24px;margin-top:0}p,li{line-height:1.6}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:#087a18}label{display:block;font-weight:650;margin-top:18px}input,select{display:block;width:100%;font:inherit;font-size:16px;min-height:50px;border:1px solid #a9bead;border-radius:8px;padding:12px;margin-top:8px}button{background:#087a18;color:white;border:0;border-radius:8px;font:inherit;font-weight:650;min-height:50px;padding:12px 20px;cursor:pointer;margin-top:20px}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e9f2ea;color:#174c23;border:1px solid #b2cbb6}.notice{background:#edf7ef;border-left:4px solid #087a18;padding:14px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.buttons{display:flex;gap:12px;flex-wrap:wrap}video,#photo{display:block;width:100%;max-height:420px;object-fit:contain;background:#122017;border-radius:10px;margin-top:12px}[hidden]{display:none!important}#message:not(:empty){background:#fff3e3;padding:18px;border:1px solid #e2b66e;border-radius:9px}#receipt:not(:empty){background:#e9f6eb;padding:18px;font-weight:700}.record{border-bottom:1px solid #dae6dc;padding:18px 0}.record img{max-width:100%;max-height:350px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #69ae7b;outline-offset:3px}@media(max-width:600px){header{flex-wrap:wrap;gap:6px;padding:16px 20px}header span{width:100%}main{margin-top:24px}.card{padding:22px 18px}h1{font-size:27px}.heading{align-items:start;flex-direction:column;gap:0}.buttons button,form>button{width:100%}}



.admin-toggle{background:#087a18;color:white;padding:18px;border-radius:10px;font-weight:700;cursor:pointer;min-height:56px}details[open] .admin-toggle{background:#16462a}#memberReceipt:not(:empty){background:#e9f6eb;padding:18px}#memberList p{border-bottom:1px solid #d5e2d7;padding:12px 0}



.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resource-card{border:1px solid #d5e2d7;border-radius:12px;padding:18px;min-width:0;overflow-wrap:anywhere}.resource-card h3{margin:0;color:#12652b}.resource-card p{margin:12px 0}.resource-card button{margin-top:0}.document-row{padding:10px 0;border-top:1px solid #e5eee6}.muted{color:#597360;font-size:14px}.resource-heading{margin-top:28px}.platform-link{display:block;margin-top:16px;color:#087a18;font-weight:700}#resourceAdmin details{margin-top:20px}#resourceAdmin form{padding:4px 12px 20px;border:1px solid #d5e2d7;border-radius:0 0 12px 12px}@media(max-width:600px){.resource-grid{grid-template-columns:1fr}.resource-card .buttons{gap:8px}.resource-card .buttons button{width:100%}.admin-toggle{font-size:16px;line-height:1.5}}



#documentPreview{width:min(900px,95vw);max-height:95vh;border:1px solid #b2cbb6;border-radius:14px;padding:16px}#documentPreview::backdrop{background:#102619aa}#documentPreview button{margin:0 0 12px}#documentPreview iframe{display:block;width:100%;height:70vh;border:0}#documentPreview img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}



.danger{background:#fff0ed;color:#a62212;border:1px solid #dfb3ac}.check-line{display:flex;gap:10px;align-items:center}.check-line input{width:22px;min-height:22px;height:22px;margin:0}.edit-panel{margin-top:24px;padding:20px;border:2px solid #459253;border-radius:12px}.archived-badge{color:#8c3b22;font-weight:bold}.resource-card .buttons{gap:8px}.resource-card .buttons button{font-size:14px;padding:10px 14px}


.admin-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.menu-card{background:#f1f8f2;border:1px solid #bed7c3;color:#173e23;text-align:left;padding:25px;margin:0;display:flex;flex-direction:column;gap:16px;min-height:260px;transition:background .15s,transform .15s}.menu-card:hover{background:#e1f2e5;transform:translateY(-2px)}.menu-card strong{font-size:25px}.menu-card span:not(.menu-icon){font-weight:400;line-height:1.5}.menu-card b{margin-top:auto;color:#087a18}.menu-icon{background:#087a18;color:#fff;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-size:18px}.section-bar{display:flex;align-items:center;gap:20px;margin-bottom:24px}.section-bar h2{margin:0}.section-bar button{margin:0}.owner-summary{background:#f0f7f1;border-left:4px solid #087a18;padding:12px 18px;margin-top:20px}.owner-summary h3,.owner-summary p{margin:6px 0}@media(max-width:650px){.admin-menu{grid-template-columns:1fr}.menu-card{min-height:190px}.section-bar{align-items:start;flex-direction:column;gap:14px}}

@media(max-width:650px){.shareholder-menu{gap:12px;margin-top:18px}.shareholder-menu .menu-card{min-height:0;padding:16px;display:grid;grid-template-columns:40px 1fr;gap:5px 12px}.shareholder-menu .menu-icon{grid-row:1/4;width:38px;height:38px;font-size:16px}.shareholder-menu .menu-card strong{font-size:20px}.shareholder-menu .menu-card span:not(.menu-icon){font-size:14px}.shareholder-menu .menu-card b{font-size:14px}}

.payroll-amounts{margin:24px 0;padding:20px;border:1px solid #b9d7c1;border-radius:16px;background:#f5faf6}.payroll-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.payroll-columns fieldset{min-width:0;border:1px solid #cbded0;border-radius:12px;padding:16px}.payroll-columns legend{font-weight:800;color:#17492f}.payroll-columns input[readonly]{background:#e8f2eb;font-weight:700}.payroll-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payroll-totals p{padding:14px;background:#e4f0e7;border-radius:10px}.payroll-totals strong{display:block;font-size:1.25rem;margin-top:8px}.payroll-totals p:last-child{background:#164b31;color:#fff}@media(max-width:650px){.payroll-columns,.payroll-totals{grid-template-columns:1fr}.payroll-amounts{padding:12px}}

.payroll-receipt{background:#fff;border:1px solid #c5d9cc;border-radius:18px;padding:24px;color:#153d29}.receipt-header{display:flex;flex-direction:column;align-items:center;gap:6px;border-bottom:2px solid #168138;padding-bottom:18px;text-align:center}.receipt-header>strong{font-size:30px;letter-spacing:3px;color:#087e20}.receipt-header h3{margin:0}.receipt-badge{font-size:11px;font-weight:700;letter-spacing:1px;background:#e8f4eb;padding:7px 12px;border-radius:20px}.receipt-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.receipt-meta p{margin:0}.receipt-meta span{display:block;color:#607267;font-size:13px}.receipt-meta strong{display:block;margin-top:3px;overflow-wrap:anywhere}.receipt-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.receipt-columns h4{font-size:14px;text-transform:uppercase;border-bottom:1px solid #c5d9cc;padding-bottom:8px;margin:8px 0}.receipt-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:14px}.receipt-line strong{white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-preview{width:min(850px,94vw);max-width:94vw;max-height:90vh;overflow:auto;border:0;border-radius:20px;padding:18px;background:#f3f8f4}.payroll-preview::backdrop{background:#12332699}.payroll-preview>button{margin-bottom:12px}.payroll-preview .payroll-receipt{margin:0}@media(max-width:650px){.receipt-columns,.receipt-meta{grid-template-columns:1fr}.payroll-receipt{padding:16px}.payroll-preview{padding:10px}.receipt-line{font-size:13px}.receipt-header>strong{font-size:25px}}

.payroll-calendar{border:1px solid #cad9ce;padding:18px;border-radius:16px;margin:20px 0;background:#fff}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-nav h3{text-transform:capitalize;margin:0;font-size:18px}.calendar-nav button{padding:8px 14px;min-width:44px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day,.calendar-weekday{padding:12px 4px;text-align:center;border-radius:8px;font-weight:700}.calendar-weekday{font-size:13px;color:#526b59}.calendar-none{background:#f2f4f2;color:#8b958e}.calendar-available{background:#d9f2df;color:#12612a;border:1px solid #64ad74}.calendar-reserved{background:#ffe0e0;color:#a4161a;border:2px solid #d32f2f}.calendar-current{background:#e0edff;color:#164d8e;border:1px solid #6096d6}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}.calendar-legend span{padding:5px 8px;border-radius:6px}.legend-free{background:#d9f2df;color:#12612a}.legend-reserved{background:#ffe0e0;color:#a4161a}.legend-current{background:#e0edff;color:#164d8e}.payroll-conflict{background:#fff0f0!important;border-left-color:#ce2929!important;color:#9b1c1c}@media(max-width:650px){.payroll-calendar{padding:10px}.calendar-grid{gap:3px}.calendar-day{padding:9px 2px}.calendar-nav h3{font-size:15px}}
