.client-area-section{min-height:100vh;padding:calc(var(--space-open) + 2rem) 0 var(--space-open);background:var(--color-dark);background-image:radial-gradient(circle at 50% 0%,rgba(var(--color-moss-rgb),.16),transparent 55%)}.client-area-section.is-centered{display:flex;align-items:center;justify-content:center;padding-left:1.5rem;padding-right:1.5rem}.client-auth-card{width:100%;max-width:440px;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-lg);background:#fefff80a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 4px #00000026,0 24px 48px #0000004d;padding:2.75rem 2.5rem;color:var(--color-light)}.client-auth-card .section-tag{color:#dbdfd1b3}.client-auth-card h1{font-family:var(--font-display);font-size:var(--text-display-l);color:var(--color-light);margin:.25rem 0 1rem}.client-auth-intro{color:#fefff899;line-height:1.6;margin-bottom:2rem}@media (max-width: 500px){.client-auth-card{padding:2.25rem 1.75rem}}.client-login-form{display:flex;flex-direction:column;gap:.75rem}.client-login-form label{font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fefff88c}.client-login-message{background:#fefff80f;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-md);padding:1.5rem;color:#fefff8d9}.client-login-message p{margin:0;line-height:1.6}.client-login-form input,.admin-inline-form input,.admin-inline-form select{padding:.85rem 1rem;border:1px solid rgba(254,255,248,.18);border-radius:var(--radius-sm);font-family:var(--font-main);font-size:.95rem;background:#fefff80f;color:var(--color-light);transition:border-color .15s ease,background .15s ease}.admin-inline-form input,.admin-inline-form select{padding:.65rem .85rem;font-size:.85rem}.client-login-form input::placeholder,.admin-inline-form input::placeholder{color:#fefff84d}.client-login-form input:focus,.admin-inline-form input:focus,.admin-inline-form select:focus{outline:none;border-color:var(--color-moss);background:#fefff817}.client-login-form .btn,.client-portal-header .btn-ghost,.admin-inline-form .btn{border:1px solid rgba(var(--color-moss-rgb),.5);background:rgba(var(--color-moss-rgb),.16);color:var(--color-light)}.client-login-form .btn{margin-top:.5rem;background:rgba(var(--color-moss-rgb),.45);border-color:rgba(var(--color-moss-rgb),.6)}.client-login-form .btn:hover:not(:disabled),.client-portal-header .btn-ghost:hover,.admin-inline-form .btn:hover:not(:disabled){background:rgba(var(--color-moss-rgb),.65);box-shadow:0 0 20px rgba(var(--color-moss-rgb),.2)}.client-login-form .btn:disabled,.admin-inline-form .btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.client-login-error{color:#ef9a92;font-size:.85rem;line-height:1.5}.admin-notice{color:#b7cf8a;font-size:.85rem}.client-portal-loading,.client-portal-message{padding:4rem 0;text-align:center;color:#fefff899}.client-portal-message .btn{margin-top:1.25rem;display:inline-block}.client-portal-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;border-bottom:1px solid rgba(254,255,248,.12);padding-bottom:1.5rem;margin-bottom:2rem}.client-portal-header .section-tag{color:#dbdfd1b3}.client-portal-header h1{font-family:var(--font-display);font-size:var(--text-display-m);color:var(--color-light);margin-top:.35rem}.client-portal-header-actions{display:flex;gap:.5rem}.client-project-intro{margin-bottom:2.5rem}.client-project-intro h2{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--color-light);margin-bottom:.35rem}.client-project-intro p{color:#fefff899;max-width:640px;line-height:1.6}.client-portal-body{display:grid;grid-template-columns:2fr 3fr;gap:3rem;align-items:start}@media (max-width: 900px){.client-portal-body{grid-template-columns:1fr;gap:2rem}}.client-column-heading{font-family:var(--font-main);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-moss);margin-bottom:1rem}.client-column-note{font-size:.8rem;color:#fefff873;line-height:1.5;margin:-.5rem 0 1rem}.client-doc-empty{color:#fefff873;font-size:.9rem}.client-doc-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.client-doc-item{width:100%;text-align:left;background:#fefff80a;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-sm);padding:.85rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.85rem;transition:border-color .15s ease,background .15s ease}.client-doc-item:hover{border-color:rgba(var(--color-moss-rgb),.5);background:#fefff80f}.client-doc-item.is-active{background:rgba(var(--color-moss-rgb),.14);border-color:rgba(var(--color-moss-rgb),.7)}.client-doc-icon{flex-shrink:0;width:34px;height:34px;border-radius:var(--radius-sm);background:#fefff814;color:#dbdfd1d9;display:flex;align-items:center;justify-content:center}.client-doc-icon svg{width:18px;height:18px}.client-doc-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.client-doc-title{font-weight:700;font-size:.9rem;color:var(--color-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-doc-category{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#fefff873}.doc-modal-backdrop{position:fixed;inset:0;background:#0a0a08a6;backdrop-filter:blur(2px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;animation:admin-fade-in .15s ease}.doc-modal{width:100%;max-width:1000px;height:94vh;display:flex;flex-direction:column;background:#22261c;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-md);box-shadow:0 24px 60px #0006;overflow:hidden;animation:admin-drawer-in .2s cubic-bezier(.16,1,.3,1)}.doc-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(254,255,248,.1);flex-shrink:0}.doc-modal-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--color-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-modal-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.doc-modal-actions .btn-ghost{padding:.5rem 1rem;font-size:.72rem}.doc-modal-close{width:32px;height:32px;border-radius:50%;border:1px solid rgba(254,255,248,.15);background:transparent;color:#fefff8b3;cursor:pointer;font-size:.8rem;transition:border-color .15s ease,color .15s ease}.doc-modal-close:hover{border-color:#fefff866;color:var(--color-light)}.doc-modal-body{flex:1;background:var(--color-muted)}.doc-modal-body iframe{width:100%;height:100%;border:none;display:block}@media (max-width: 700px){.doc-modal{height:92vh}.doc-modal-header{flex-wrap:wrap;row-gap:.5rem}}.client-asset-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.client-asset-card{width:100%;display:flex;align-items:center;gap:.9rem;text-align:left;background:#fefff80a;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-md);padding:1rem 1.1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.client-asset-card:hover{border-color:rgba(var(--color-moss-rgb),.55);background:#fefff812;transform:translateY(-1px)}.client-asset-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-sm);background:rgba(var(--color-moss-rgb),.18);color:#dbdfd1f2;display:flex;align-items:center;justify-content:center}.client-asset-icon svg{width:20px;height:20px}.client-asset-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.client-asset-open{flex-shrink:0;color:var(--color-moss);font-size:1.1rem;opacity:.7;transition:opacity .15s ease,transform .15s ease}.client-asset-card:hover .client-asset-open{opacity:1;transform:translate(2px,-2px)}.admin-page-container{width:100%;max-width:1300px;margin:0 auto;padding:0 2.5rem}@media (max-width: 900px){.admin-page-container{padding:0 1.25rem}}.admin-shell{display:flex;flex-direction:column}.admin-client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.admin-client-card{display:flex;align-items:stretch;gap:.5rem;background:#fefff80a;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-md);padding:.5rem .5rem .5rem 0;transition:border-color .15s ease,background .15s ease,transform .15s ease}.admin-client-card:hover{border-color:rgba(var(--color-moss-rgb),.55);background:#fefff812;transform:translateY(-2px)}.admin-client-card-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 1rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left}.admin-client-card-name{font-family:var(--font-display);font-size:1.15rem;font-weight:400;color:var(--color-light)}.admin-client-card-arrow{color:var(--color-moss);opacity:.6;transition:opacity .15s ease,transform .15s ease}.admin-client-card:hover .admin-client-card-arrow{opacity:1;transform:translate(3px)}.admin-edit-btn{flex-shrink:0;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid rgba(254,255,248,.12);background:transparent;color:#fefff880;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease}.admin-edit-btn svg{width:14px;height:14px}.admin-edit-btn:hover{border-color:rgba(var(--color-moss-rgb),.6);color:var(--color-light)}.admin-client-card .admin-edit-btn{align-self:center;margin-right:.5rem}.admin-detail-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.admin-detail-title-row .section-tag{width:100%;flex-basis:100%}.admin-detail-title-row h1{margin-top:0}.admin-back-btn{align-self:flex-start;background:none;border:none;color:#fefff88c;font-family:var(--font-main);font-size:.8rem;font-weight:600;cursor:pointer;margin-bottom:1.25rem;transition:color .15s ease}.admin-back-btn:hover{color:var(--color-light)}.admin-linked-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:-1rem 0 2rem}.admin-linked-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fefff866}.admin-linked-row .admin-tag-list{margin:0}.client-area-folio{border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-lg);background:#fefff808;overflow:hidden}.client-area-folio-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:0 1.5rem;background:#00000026;border-bottom:1px solid rgba(254,255,248,.1)}.client-area-folio-tab{background:none;border:none;border-bottom:2px solid transparent;padding:1.1rem .9rem .95rem;font-family:var(--font-main);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fefff866;cursor:pointer;transition:color .15s ease,border-color .15s ease}.client-area-folio-tab:hover{color:#fefff8bf}.client-area-folio-tab.is-active{color:var(--color-light);border-bottom-color:var(--color-moss)}.client-area-folio-tab-add{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;color:#fefff859}.client-area-folio-tab-add svg{width:12px;height:12px}.client-area-folio-tab-add:hover{color:var(--color-moss)}.client-area-folio-body{padding:2rem 2rem 2.25rem}.admin-project-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.admin-project-intro-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0;margin-top:.35rem}.admin-subheading{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fefff866;margin-bottom:.75rem}.admin-column-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.admin-column-header .client-column-heading{margin-bottom:0}.admin-add-trigger{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem .3rem .55rem;border-radius:var(--radius-pill);border:1px solid rgba(var(--color-moss-rgb),.4);background:rgba(var(--color-moss-rgb),.1);color:var(--color-light);font-family:var(--font-main);font-size:.72rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,border-color .15s ease}.admin-add-trigger svg{width:13px;height:13px}.admin-add-trigger:hover{background:rgba(var(--color-moss-rgb),.28);border-color:rgba(var(--color-moss-rgb),.6)}.admin-detail-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:var(--color-light);margin-bottom:1.5rem}.admin-section-spacer{margin-top:2rem}.admin-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-list-row{display:flex;align-items:center;gap:.4rem}.admin-list-item{flex:1;text-align:left;background:#fefff80a;border:1px solid rgba(254,255,248,.12);border-radius:var(--radius-sm);padding:.65rem .85rem;font-size:.85rem;font-weight:600;color:var(--color-light);cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-list-item:hover{border-color:rgba(var(--color-moss-rgb),.5);background:#fefff80f}.admin-list-item.is-active{background:rgba(var(--color-moss-rgb),.16);border-color:rgba(var(--color-moss-rgb),.7)}.admin-delete-btn{flex-shrink:0;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid rgba(254,255,248,.12);background:transparent;color:#fefff880;cursor:pointer;font-size:.75rem;transition:border-color .15s ease,color .15s ease}.admin-delete-btn:hover{border-color:#ef9a92;color:#ef9a92}.admin-locked-badge{flex-shrink:0;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid rgba(254,255,248,.1);background:#fefff808;color:#fefff84d;display:flex;align-items:center;justify-content:center;cursor:default}.admin-locked-badge svg{width:14px;height:14px}.admin-or{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fefff859;text-align:center;margin:-.35rem 0}.admin-drawer-backdrop{position:fixed;inset:0;background:#0a0a088c;backdrop-filter:blur(2px);z-index:1200;display:flex;justify-content:flex-end;animation:admin-fade-in .15s ease}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}.admin-drawer{width:min(420px,100vw);height:100%;background:#22261c;background-image:radial-gradient(circle at 100% 0%,rgba(var(--color-moss-rgb),.14),transparent 55%);border-left:1px solid rgba(254,255,248,.12);box-shadow:-24px 0 60px #00000059;padding:2rem;overflow-y:auto;animation:admin-drawer-in .22s cubic-bezier(.16,1,.3,1)}@keyframes admin-drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.admin-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.admin-drawer-header h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--color-light)}.admin-drawer-close{width:32px;height:32px;border-radius:50%;border:1px solid rgba(254,255,248,.15);background:transparent;color:#fefff8b3;cursor:pointer;font-size:.8rem;transition:border-color .15s ease,color .15s ease}.admin-drawer-close:hover{border-color:#fefff866;color:var(--color-light)}.admin-drawer-hint{font-size:.82rem;color:#fefff88c;line-height:1.5;margin-bottom:1.25rem}.admin-drawer-hint-lock{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;background:#fefff80a;border:1px solid rgba(254,255,248,.1);border-radius:var(--radius-sm);color:#fefff8a6}.admin-drawer-hint-lock svg{width:16px;height:16px;flex-shrink:0;margin-top:.1rem;color:#fefff866}.admin-drawer-form{display:flex;flex-direction:column;gap:.6rem}.admin-drawer-form label{font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fefff880;margin-top:.5rem}.admin-drawer-form label:first-of-type{margin-top:0}.admin-drawer-form input,.admin-drawer-form select,.admin-drawer-form textarea{padding:.75rem .9rem;border:1px solid rgba(254,255,248,.18);border-radius:var(--radius-sm);font-family:var(--font-main);font-size:.9rem;background:#fefff80f;color:var(--color-light);resize:vertical;transition:border-color .15s ease,background .15s ease}.admin-drawer-form input::placeholder,.admin-drawer-form textarea::placeholder{color:#fefff84d}.admin-drawer-form select option{color:var(--color-dark);background:var(--color-light)}.admin-drawer-form input:focus,.admin-drawer-form select:focus,.admin-drawer-form textarea:focus{outline:none;border-color:var(--color-moss);background:#fefff817}.admin-drawer-form .btn{margin-top:1.25rem}.admin-drawer-form .btn:disabled{opacity:.5;cursor:not-allowed}.admin-tag-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.admin-tag{font-size:.78rem;font-weight:600;padding:.35rem .75rem;border-radius:var(--radius-pill);background:rgba(var(--color-moss-rgb),.18);color:var(--color-light)}.admin-list-row>.client-doc-item,.admin-list-row>.client-asset-card{flex:1;min-width:0}.admin-toast-row{margin-top:1.5rem}
