:root{--safe-bottom:env(safe-area-inset-bottom,0px)}
body{overflow-x:hidden}.nav-toggle,.menu-button,.mobile-aside-head label,.nav-backdrop{display:none}.mobile-aside-head .brand{padding:0}
.page-head>div:first-child{min-width:0}.page-head h1{overflow-wrap:anywhere}.page-head>a,.actions a{color:#cdbdff}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.list-head,.list-row{display:grid;grid-template-columns:2fr .7fr 1fr 1fr;gap:18px;align-items:center;padding:17px 24px}.list-head{color:#8e9ab2;font-size:12px;text-transform:uppercase}.list-row{border-top:1px solid var(--line)}.list-row:hover,.calendar-row:hover{background:#131d31}.list-row span,.calendar-row span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.list-row small,.calendar-row small{color:var(--muted)}.list-row em,.status{justify-self:start;padding:6px 10px;border:1px solid #5c4a93;border-radius:6px;color:#c59dff;font-style:normal}.customers{grid-template-columns:1.2fr 1.4fr .8fr 1.2fr}
.month{margin-bottom:20px}.calendar-row{display:grid;grid-template-columns:75px minmax(0,1fr) 220px;gap:18px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}.calendar-row time{display:grid;color:var(--muted);text-transform:uppercase}.calendar-row time b{font:400 32px Georgia,serif;color:white}
.contract-text{line-height:1.7}.contract-text>p{white-space:normal;color:#cbd2e2}.stack{display:grid;gap:8px;margin:22px 0}.stack input{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:#090f1b;color:white}.check{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.module-cards{grid-template-columns:repeat(3,1fr)}.module-cards p{color:var(--muted);line-height:1.55}.planned{display:inline-flex;margin-top:8px}
input,select,textarea{max-width:100%}.detail .primary{margin-top:16px}.detail input{margin-bottom:4px}.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
@media(max-width:1050px){.module-cards{grid-template-columns:1fr 1fr}.shell aside{width:225px}.shell main{margin-left:225px}.content{padding-inline:28px}.shell header{padding-inline:28px}.event-grid{min-width:900px}}
@media(max-width:760px){
 body{background:radial-gradient(circle at 90% 0,rgba(94,46,190,.18),transparent 35%),var(--bg)}.nav-toggle{position:fixed;opacity:0;pointer-events:none}.menu-button,.mobile-aside-head label{display:grid;place-items:center;cursor:pointer}.menu-button{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;color:white;font-size:20px}.mobile-aside-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.mobile-aside-head label{width:42px;height:42px;font-size:30px;color:var(--muted)}
 .shell aside{display:flex;z-index:60;width:min(86vw,330px);padding:22px 16px calc(22px + var(--safe-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 60px rgba(0,0,0,.45)}.nav-toggle:checked~.shell aside{transform:translateX(0)}.nav-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.nav-toggle:checked~.shell .nav-backdrop{display:block}.shell nav{overflow:auto}.shell nav a{min-height:50px}
 .shell main{margin-left:0;width:100%;min-width:0}.shell header{height:72px;padding:0 15px;gap:12px;position:sticky;top:0;z-index:30;background:rgba(7,10,18,.94);backdrop-filter:blur(12px)}.header-title{display:none}.profile{margin-left:auto;min-width:0}.profile>b{width:38px;height:38px}.profile>span{display:none}.profile form button{padding:8px 0}
 .content{padding:26px 15px calc(50px + var(--safe-bottom));width:100%;overflow:hidden}.hero,.page-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:26px}.hero h1,.page-head h1{font-size:39px;line-height:1.06}.hero>div>span,.page-head span{display:block;line-height:1.5}.page-head>.primary,.hero>.primary{flex:none;padding:12px 14px}.page-head .actions{width:100%}
 .cards,.module-cards{grid-template-columns:1fr;gap:12px}.cards article{min-height:0;padding:19px}.cards strong{font-size:42px}.tasks{display:grid;grid-template-columns:1fr}.tasks div{border-right:0;border-bottom:1px solid var(--line)}.tasks div:last-child{border-bottom:0}
 .panel,.form-card{border-radius:12px}.panel-title{height:auto;min-height:60px;padding:15px 17px}.panel-title h2{margin:0}.form-card{padding:18px}.form-grid{grid-template-columns:1fr;gap:15px}.form-grid .full{grid-column:auto}.form-grid input,.form-grid select,.detail input,.stack input{min-height:48px;font-size:16px}.form-actions{justify-content:stretch;flex-direction:column-reverse;align-items:stretch}.form-actions .primary,.form-actions button{justify-content:center;width:100%}
 .detail-grid{grid-template-columns:1fr;gap:14px}.detail{padding:19px}.detail dl{grid-template-columns:minmax(100px,.8fr) 1.2fr;gap:4px 12px}.detail dd{margin-left:0;overflow-wrap:anywhere}.detail .primary{display:flex;justify-content:center;width:100%}
 .event-grid{min-width:0;grid-template-columns:1fr;gap:8px;padding:17px}.event-grid.head{display:none}.event-grid.row{margin:10px;border:1px solid var(--line);border-radius:10px}.event-grid.row span:before{content:attr(data-label);color:var(--muted);font-size:11px;text-transform:uppercase}.event-list{grid-template-columns:1fr;gap:8px}
 .list-head{display:none}.list-row,.list-row.customers{display:grid;grid-template-columns:1fr;gap:12px;margin:10px;padding:16px;border:1px solid var(--line);border-radius:10px}.calendar-row{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:15px}.calendar-row>span:last-child{grid-column:2;color:var(--muted)}.calendar-row time b{font-size:28px}
 .public-page{display:block;padding:0;background:var(--bg)}.public-card{width:100%;min-height:100dvh;border:0;border-radius:0;padding:25px 18px calc(35px + var(--safe-bottom))}.public-card h1{font-size:40px}.public-card .brand{font-size:21px}.contract-text{font-size:15px}.login-page{padding:15px}.login-card{padding:25px 20px}.login-card h1{font-size:38px}
}
.form-grid textarea,.user-row input,.user-row select{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:#090f1b;color:white;font:inherit}.one-column{grid-template-columns:1fr}.compact-card{margin-top:0}.compact-card h2{font:400 27px Georgia,serif;margin-top:0}.package-list{margin-top:0}.package-list article{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border-top:1px solid var(--line)}.package-list h3{margin:0 0 8px}.package-list p{margin:0;color:var(--muted);white-space:pre-line}.danger-button,.secondary-button{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:transparent;color:#ff91b9;cursor:pointer}.secondary-button{color:#cdbdff}.user-list{margin-top:0}.user-list>form{border-top:1px solid var(--line)}.user-row{display:grid;grid-template-columns:46px 1fr 1.4fr 130px auto auto;gap:12px;align-items:end;padding:18px}.user-row label{display:grid;gap:6px;color:var(--muted);font-size:12px}.avatar{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.user-row details{align-self:center}.user-row details label{margin-top:10px}.custom-package[hidden]{display:none}.custom-package{padding:18px;border:1px dashed #56438a;border-radius:10px;background:rgba(139,92,246,.06)}
.stack textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:#090f1b;color:white;font:inherit}.inline-button{display:inline-flex;margin-top:14px}.note-box{padding:14px;border:1px solid var(--line);border-radius:9px;background:#090f1b;color:#cbd2e2;line-height:1.6}.calendar-page{width:100%;min-width:0}.calendar-month{width:100%;min-width:0;margin:0 0 18px;border:1px solid var(--line);border-radius:15px;background:rgba(15,23,40,.9);overflow:hidden}.calendar-month>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid var(--line)}.calendar-month h2{margin:0;font:400 25px Georgia,serif}.calendar-month>header span{color:var(--muted);font-size:13px}.calendar-event{display:grid;grid-template-columns:62px minmax(150px,1.2fr) minmax(220px,1fr) auto;gap:18px;align-items:center;width:100%;min-width:0;padding:15px 22px;border-bottom:1px solid var(--line)}.calendar-event:last-child{border-bottom:0}.calendar-event:hover{background:#131d31}.calendar-event time{display:grid;text-align:center;color:var(--muted);text-transform:uppercase}.calendar-event time b{font:400 31px Georgia,serif;color:white}.calendar-main,.calendar-meta,.calendar-meta>span{display:grid;min-width:0;gap:4px}.calendar-main>span,.calendar-meta{color:var(--muted)}.calendar-main b,.calendar-meta span{overflow-wrap:anywhere}.calendar-meta{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:16px}.calendar-meta small{color:#7562a9;font-size:10px;letter-spacing:.08em}.calendar-event em{justify-self:end;padding:6px 9px;border:1px solid #5c4a93;border-radius:6px;color:#c59dff;font-style:normal;font-size:12px;white-space:nowrap}.calendar-empty{padding:30px;border:1px solid var(--line);border-radius:15px;color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:22px;align-items:start}.settings-mail{margin-top:0}.settings-side{display:grid;gap:18px}.settings-side .panel{margin:0}.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.settings-heading h2{font:400 28px Georgia,serif;margin:0}.settings-heading p{color:var(--muted)}.provider-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.provider-choice label{display:flex;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#0a101d;cursor:pointer}.provider-choice span{display:grid;gap:5px}.provider-choice small{color:var(--muted)}.m365-note{padding:15px;margin-top:18px;border:1px solid #4d4382;border-radius:10px;background:rgba(139,92,246,.08)}.m365-note p{margin-bottom:0;color:var(--muted);line-height:1.5}.connected{border-color:#286652;color:#89e7c3}
@media(max-width:1100px){.calendar-event{grid-template-columns:55px minmax(0,1fr) auto}.calendar-meta{grid-column:2}.calendar-event em{grid-column:3;grid-row:1/3}.settings-grid{grid-template-columns:1fr}}
@media(max-width:900px){.user-admin{grid-template-columns:1fr}.user-row{grid-template-columns:42px 1fr}.user-row>*:not(.avatar){grid-column:2}.package-list article{align-items:flex-start}}
@media(max-width:760px){.form-grid textarea,.user-row input,.user-row select{font-size:16px;min-height:48px}.package-list article{padding:17px;flex-direction:column}.package-list article form,.package-list article button{width:100%}.user-row{padding:16px}.user-row>*:not(.avatar){grid-column:1/-1}.user-row .avatar{grid-column:1}.custom-package{padding:14px}.calendar-month{border-radius:12px}.calendar-month>header{padding:15px 16px}.calendar-event{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:15px 14px}.calendar-event time b{font-size:27px}.calendar-main{padding-right:0}.calendar-meta{grid-column:2;grid-template-columns:1fr;gap:9px}.calendar-event em{grid-column:2;grid-row:auto;justify-self:start}.calendar-page .page-head{display:flex}.calendar-page .page-head .primary{width:auto;margin-top:0}.provider-choice{grid-template-columns:1fr}.settings-heading{display:grid}.settings-heading .status{justify-self:start}}
@media(max-width:420px){.hero,.page-head{display:block}.hero>.primary,.page-head>.primary{margin-top:18px;width:100%;justify-content:center}.hero h1,.page-head h1,.public-card h1{font-size:35px}.profile form button{font-size:13px}}
/* v0.8: responsive workflow panels and multi-role controls */
.detail form + form{margin-top:1rem}.detail h3{margin:.9rem 0 .4rem;font-size:.92rem}.user-row fieldset,.compact-card fieldset{border:1px solid var(--border,#d9dee8);border-radius:10px;padding:.7rem}.user-row fieldset label,.compact-card fieldset label{display:inline-flex;align-items:center;gap:.35rem;margin-right:.8rem}.user-row input[readonly]{min-width:18rem}
.event-list{grid-template-columns:1.4fr .8fr .8fr .8fr auto}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr!important}.page-head{align-items:flex-start}.page-head .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.page-head .actions a{text-align:center}.user-row{display:grid!important;grid-template-columns:1fr!important}.user-row input[readonly]{min-width:0;width:100%}.public-card{width:auto;margin:1rem;padding:1.15rem}.panel,.form-card{min-width:0;overflow-wrap:anywhere}input,select,textarea,button{max-width:100%}}
