@font-face{font-family:Felidae;src:url('assets/fonts/Felidae-Regular.ttf')}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Variable.ttf')}*{box-sizing:border-box}:root{--milk:#f3f2ee;--ink:#595858;--dark:#24312c;--blue:#7c92a7;--sand:#e0cec0;--line:rgba(89,88,88,.22)}html{min-height:100%;background:var(--milk);color:var(--ink);font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button,input,select{border-radius:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}img,video{display:block;max-width:100%}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:.17em}.login-view{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(110deg,rgba(36,49,44,.92),rgba(78,95,104,.72)),url('assets/ranunculus.webp') center/cover;color:var(--milk)}.login-brand{padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.login-brand img{width:min(38vw,540px);filter:brightness(0) invert(1);opacity:.88}.login-brand span{font-size:10px;letter-spacing:.28em}.login-card{align-self:center;justify-self:center;width:min(520px,82%);padding:58px 54px;border:1px solid rgba(245,243,239,.42);background:rgba(36,49,44,.32);backdrop-filter:blur(16px)}h1,h2{margin:0;font:400 clamp(56px,6vw,94px)/.94 Felidae,serif;letter-spacing:-.045em}h1 em,h2 em{font-weight:400;color:var(--sand)}.login-card h1{font-size:clamp(52px,5vw,78px);margin:22px 0 48px}.login-card label,.user-create label,.media-copy label{display:grid;gap:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.login-card label{margin-top:24px}.login-card input,.user-create input,.user-create select,.media-copy input,.media-copy select{width:100%;border:0;border-bottom:1px solid currentColor;padding:12px 0;background:transparent;color:inherit;outline-offset:3px}.login-card button,.user-create button,.media-actions button{border:1px solid currentColor;background:transparent;color:inherit;padding:15px 18px;margin-top:35px;display:flex;justify-content:space-between;width:100%;text-transform:uppercase;font-size:10px;letter-spacing:.11em;transition:.3s}.login-card button:hover,.user-create button:hover,.media-actions button:hover{background:var(--blue);color:#fff}.form-state{min-height:22px;font-size:11px;line-height:1.6}.workspace{min-height:100vh}.workspace-header{height:110px;padding:26px 4.5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.workspace-brand{width:175px;color:inherit;text-decoration:none;display:grid;gap:6px;text-align:center}.workspace-brand span{font-size:7px;letter-spacing:.24em}.account{display:flex;align-items:center;gap:25px}.account>span{display:grid;text-align:right}.account b{font-size:12px}.account small{margin-top:5px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--blue)}.account button,.workspace-nav button,.media-filters button{border:0;background:transparent;color:inherit}.account button{padding:10px;border-bottom:1px solid currentColor;font-size:10px}.workspace-nav{padding:0 4.5vw;display:flex;border-bottom:1px solid var(--line)}.workspace-nav button{padding:21px 0;margin-right:38px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;position:relative}.workspace-nav button::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(0);transition:.35s}.workspace-nav button.active::after{transform:scaleX(1)}.workspace-panel{padding:72px 4.5vw 110px}.panel-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:58px}.panel-heading h2{margin-top:20px}.panel-heading>p,.role-explainer{max-width:440px;font-size:13px;line-height:1.8}.role-explainer p{margin:7px 0}.upload-zone{position:relative;border:1px dashed rgba(89,88,88,.45);min-height:210px;margin-bottom:42px;transition:.3s}.upload-zone.dragover{border-color:var(--blue);background:rgba(124,146,167,.1);transform:scale(.997)}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-zone>button{width:100%;min-height:210px;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.upload-zone>button span{font:300 50px/1 Felidae}.upload-zone>button b{font-size:16px;font-weight:500}.upload-zone>button small{font-size:10px}.upload-zone>p{position:absolute;left:20px;right:20px;bottom:8px;text-align:center;font-size:10px}.media-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:30px}.media-filters{display:flex;flex-wrap:wrap;gap:8px}.media-filters button{padding:8px 13px;border:1px solid transparent;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.media-filters button.active{border-color:var(--ink);border-radius:99px}.media-toolbar>span{font-size:10px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.media-card{min-width:0}.media-preview{aspect-ratio:4/5;background:#e8e5df;overflow:hidden;position:relative}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-preview video{background:#18201d}.media-copy{padding-top:18px}.media-meta{display:flex;justify-content:space-between;margin-bottom:16px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.media-copy label{margin-top:14px}.media-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end;margin-top:18px}.media-actions select{border:1px solid var(--line);padding:11px;background:transparent}.media-actions button{width:auto;margin:0;padding:11px 13px}.media-actions .delete-media{color:#8a433c}.media-owner{display:block;margin-top:14px;font-size:8px;color:#777}.empty-state{text-align:center;padding:90px 20px;border-top:1px solid var(--line);font:38px Felidae}.user-create{display:grid;grid-template-columns:1fr 1.2fr .8fr 1fr auto;gap:20px;align-items:end;padding:28px;border:1px solid var(--line);margin-bottom:34px}.user-create button{width:auto;margin:0;white-space:nowrap}.user-create .form-state{grid-column:1/-1;margin:0}.users-list{border-top:1px solid var(--line)}.user-row{display:grid;grid-template-columns:1.3fr 1.5fr .8fr auto;gap:25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.user-row strong{font-size:14px}.user-row span{font-size:11px}.user-row select{border:1px solid var(--line);padding:10px;background:transparent}.user-row button{border:1px solid var(--line);background:transparent;padding:10px 13px;color:inherit}.user-row.is-inactive{opacity:.45}@media(max-width:900px){.login-view{grid-template-columns:1fr}.login-brand{min-height:210px;padding:30px}.login-brand img{width:65vw}.login-card{margin:0 auto 50px;padding:40px 30px}.workspace-header{height:90px;padding:22px 5vw}.workspace-brand{width:135px}.workspace-panel{padding:55px 5vw 90px}.panel-heading{display:block}.panel-heading>p,.role-explainer{margin-top:28px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create{grid-template-columns:1fr 1fr}.user-create button{width:100%}.user-row{grid-template-columns:1fr auto}.user-row span{grid-column:1}.user-row select,.user-row button{grid-row:1/3;grid-column:2}.user-row button{margin-top:48px}}@media(max-width:560px){.workspace-header{align-items:flex-start;height:auto}.account{gap:12px}.account b{font-size:10px}.workspace-nav{padding:0 5vw}.workspace-panel{padding-top:42px}.panel-heading h2{font-size:48px}.media-grid{grid-template-columns:1fr}.media-toolbar{align-items:flex-start;gap:15px}.media-actions{grid-template-columns:1fr 1fr}.media-actions select{grid-column:1/-1}.user-create{grid-template-columns:1fr}.user-row{display:grid}.login-card h1{font-size:50px}}

@media(max-width:560px){
  html,body{max-width:100%;overflow-x:clip}
  .login-brand{min-height:160px;padding:24px 20px}
  .login-brand img{width:min(72vw,270px)}
  .login-card{width:calc(100% - 24px);margin:0 auto 24px;padding:30px 22px}
  .login-card h1{margin:17px 0 30px;font-size:clamp(42px,14vw,54px);overflow-wrap:anywhere}
  .login-card label{margin-top:18px}
  .login-card button{margin-top:26px}
  .workspace-header{gap:14px;padding:18px 5vw}
  .workspace-brand{width:min(34vw,125px);flex:0 0 auto}
  .account{min-width:0;flex:1;justify-content:flex-end}
  .account>span{min-width:0}
  .account b{max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account button{padding-inline:5px}
  .workspace-nav{overflow-x:auto;overscroll-behavior-x:contain}
  .workspace-nav button{flex:0 0 auto;margin-right:24px;padding:17px 0}
  .workspace-panel{padding:38px 5vw 70px}
  .panel-heading{margin-bottom:38px}
  .panel-heading h2{font-size:clamp(42px,13vw,54px);overflow-wrap:anywhere}
  .panel-heading>p,.role-explainer{font-size:12px;line-height:1.7}
  .upload-zone,.upload-zone>button{min-height:180px}
  .upload-zone>button b{padding-inline:18px;text-align:center}
  .media-toolbar{flex-direction:column}
  .media-toolbar>span{align-self:flex-end}
  .media-filters{gap:4px}
  .media-filters button{padding:7px 9px;font-size:8px}
  .media-actions button{width:100%;justify-content:center}
  .user-create{padding:21px}
  .user-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .user-row strong,.user-row span{min-width:0;overflow-wrap:anywhere}
}

@media(orientation:landscape) and (max-height:500px) and (max-width:900px){
  .login-view{min-height:100svh;grid-template-columns:minmax(190px,.72fr) minmax(340px,1.28fr)}
  .login-brand{min-height:0;padding:22px}
  .login-brand img{width:min(28vw,230px)}
  .login-brand span{font-size:7px}
  .login-card{width:calc(100% - 28px);max-height:calc(100svh - 20px);margin:10px 14px;padding:20px 27px;overflow:auto;overscroll-behavior:contain}
  .login-card h1{margin:9px 0 14px;font-size:clamp(34px,6vw,48px);line-height:.92}
  .login-card label{margin-top:10px;font-size:8px;gap:4px}
  .login-card input{padding:7px 0}
  .login-card button{margin-top:13px;padding:10px 14px}
  .form-state{min-height:15px;margin:8px 0 0;font-size:9px}
  .workspace-header{height:68px;padding:12px 4vw;align-items:center}
  .workspace-brand{width:110px}
  .workspace-nav{padding-inline:4vw}
  .workspace-nav button{padding:13px 0;margin-right:28px;font-size:9px}
  .workspace-panel{padding:34px 4vw 60px}
  .panel-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:34px}
  .panel-heading h2{font-size:42px}
  .panel-heading>p,.role-explainer{margin:0;font-size:10px;line-height:1.55}
  .upload-zone,.upload-zone>button{min-height:145px}
  .media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}
}

/* User access management */
#users-panel .user-create{border:1px solid rgba(124,146,167,.34);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(222,231,237,.48));box-shadow:0 18px 55px rgba(56,70,74,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.password-create-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.password-create-control button{margin:0;padding:10px 12px;width:auto;border-radius:999px}
.users-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:58px 0 8px}
.users-heading h3{margin:8px 0 0;font:400 clamp(36px,4vw,55px)/1 Felidae,serif;letter-spacing:-.035em}
.users-heading>p{max-width:480px;margin:0;font-size:12px;line-height:1.7}
.users-state{margin:0 0 18px;color:var(--blue)}
.users-list{display:grid;gap:16px;border:0}
.user-row.user-access-card{display:block;padding:24px;border:1px solid rgba(124,146,167,.3);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(224,232,237,.53));box-shadow:0 14px 42px rgba(56,70,74,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.user-row.user-access-card.is-inactive{opacity:.7}
.user-row-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(89,88,88,.15)}
.user-row-heading>div{display:flex;align-items:center;gap:12px;min-width:0}.user-row-heading strong{font-size:17px;overflow-wrap:anywhere}.user-row-heading small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.user-status{display:inline-flex!important;align-items:center;min-height:29px;padding:6px 11px;border:1px solid rgba(124,146,167,.42);border-radius:999px;background:rgba(255,255,255,.48);font-size:8px!important;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.user-edit-form{display:grid;grid-template-columns:1fr 1.3fr .75fr auto;gap:14px;align-items:end;padding-top:20px}
.user-edit-form label,.user-password-reset label{display:grid;gap:7px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.user-edit-form input,.user-edit-form select,.user-password-reset input{width:100%;min-height:42px;padding:9px 12px;border:1px solid rgba(89,88,88,.2);border-radius:14px;background:rgba(255,255,255,.5);color:inherit}
.user-edit-form button,.user-access-actions button,.user-password-reset button{min-height:42px;padding:9px 15px;border:1px solid rgba(89,88,88,.22);border-radius:999px;background:rgba(255,255,255,.42);color:inherit;font-size:9px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s,transform .2s}
.user-edit-form button:hover,.user-access-actions button:hover,.user-password-reset button:hover{background:var(--dark);border-color:var(--dark);color:var(--milk);transform:translateY(-1px)}
.user-access-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.user-access-actions .user-disable{color:#85534d}.user-access-actions .user-enable{color:#46675c}.user-access-actions button:disabled,.user-edit-form select:disabled{cursor:not-allowed;opacity:.42}
.user-password-reset{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto);gap:9px;align-items:end;margin-top:15px;padding:16px;border:1px solid rgba(124,146,167,.25);border-radius:20px;background:rgba(124,146,167,.09)}
.forced-password-dialog{width:min(620px,calc(100% - 28px));padding:0;border:1px solid rgba(255,255,255,.42);border-radius:30px;background:linear-gradient(145deg,rgba(38,53,49,.96),rgba(74,94,103,.93));color:var(--milk);box-shadow:0 28px 90px rgba(20,29,27,.32);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.forced-password-dialog::backdrop{background:rgba(25,35,32,.64);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.forced-password-dialog form{padding:48px}.forced-password-dialog h2{margin:19px 0 22px;font-size:clamp(48px,8vw,72px)}.forced-password-dialog>form>p:not(.form-state){max-width:470px;margin:0 0 30px;font-size:13px;line-height:1.75}.forced-password-dialog label{display:grid;gap:8px;margin-top:18px;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.forced-password-dialog input{width:100%;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);border-radius:0;background:transparent;color:inherit}.forced-password-dialog button{width:100%;margin-top:24px;padding:15px 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(255,255,255,.1);color:inherit;text-align:left;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.forced-password-dialog button[type="submit"]{display:flex;justify-content:space-between}.forced-password-dialog button:hover{background:var(--milk);color:var(--dark)}.forced-password-dialog .forced-password-logout{margin-top:9px;border-color:transparent;text-align:center;opacity:.72}.forced-password-dialog .form-state{margin:14px 0 0}
@media(max-width:980px){.user-edit-form{grid-template-columns:1fr 1fr}.user-password-reset{grid-template-columns:1fr 1fr}.user-password-reset label{grid-column:1/-1}}
@media(max-width:620px){.password-create-control{grid-template-columns:1fr}.users-heading{display:block;margin-top:42px}.users-heading>p{margin-top:14px}.user-row.user-access-card{padding:18px;border-radius:22px}.user-row-heading{align-items:flex-start}.user-row-heading>div{display:grid;gap:8px}.user-edit-form,.user-password-reset{grid-template-columns:1fr}.user-password-reset label{grid-column:auto}.user-edit-form button,.user-access-actions button,.user-password-reset button{width:100%}.user-access-actions{display:grid;grid-template-columns:1fr}.user-status{width:max-content}.forced-password-dialog form{padding:32px 22px}.forced-password-dialog{border-radius:24px}.forced-password-dialog h2{font-size:48px}}
