@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090a13;--panel:#15151f;--panel2:#1e1d2a;--panel3:#242232;--border:#393242;--muted:#a19ba9;--pink:#ff397c;--pink2:#dc205d;--text:#f8f5fb;--green:#42de9a;--orange:#ffc069;--shadow:0 16px 50px #0006;--radius:14px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{color:var(--text);outline:none}input::placeholder,textarea::placeholder{color:#777180}a{color:inherit;text-decoration:none}svg{flex:none}::selection{background:#fa337d6b}
.app-frame{display:grid;grid-template-columns:255px minmax(0,1fr);height:100dvh;min-height:680px;max-width:1920px;margin:auto;overflow:hidden;background:radial-gradient(circle at 74% 9%,#32102975,transparent 38%),#0b0b14;box-shadow:0 0 0 1px #3b1a32,0 0 70px #f9235a15}
.sidebar{display:flex;flex-direction:column;min-width:0;border-right:1px solid #332333;background:linear-gradient(180deg,#13101e 0%,#170d1c 73%,#180e1c 100%);position:relative;overflow:hidden;padding:30px 18px 20px;z-index:5}
.brand{padding:8px 8px 22px;position:relative;z-index:1}.brand-big{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:900;letter-spacing:-.8px;font-style:italic;font-size:33px;white-space:nowrap;line-height:.93}.brand-big b{color:var(--pink)}.brand-sub{display:flex;align-items:center;gap:6px;padding-left:9px;color:#9c91a1;font-size:10px;font-style:italic;margin-top:5px;letter-spacing:.09em}.slashes{display:inline-block;width:55px;height:10px;background:repeating-linear-gradient(125deg,transparent 0 5px,var(--pink) 5px 16px,transparent 16px 20px);transform:skew(-18deg)}
.nav{display:grid;gap:5px;margin-top:10px;position:relative;z-index:1}.nav-title{font-size:11px;font-weight:700;color:#87808e;letter-spacing:.09em;margin:23px 12px 7px}.nav-button{width:100%;border:1px solid transparent;display:flex;align-items:center;gap:14px;padding:12px 13px;text-align:left;background:transparent;color:#eeeaf0;border-radius:10px;transition:.2s}.nav-button:hover{background:#ffffff10}.nav-button.active{background:linear-gradient(100deg,#6d153c7d,#331527a3);border-color:#ef3b82;box-shadow:inset 0 0 18px #ec266129,0 0 14px #eb2c6957}.nav-button span{flex:1}.count{border-radius:20px;background:var(--pink2);padding:2px 7px;font-size:11px;font-weight:700}.nav-sep{border:0;border-top:1px solid #4b3345;margin:16px 4px 0}.side-bottom{margin-top:auto;min-height:245px;background:linear-gradient(to bottom,#180e1c00,#180e1c11 16%,#160b14 100%),var(--sidebar-photo,url('assets/sidebar.webp')) center bottom/100% auto no-repeat;position:relative}.side-bottom .version{position:absolute;bottom:2px;color:#9b7888;font-size:10px;letter-spacing:.1em;left:10px}.sidebar .side-close,.topbar .mobile-menu{display:none}
.workspace{overflow:auto;min-width:0;scrollbar-color:#493443 transparent}.topbar{height:95px;display:flex;gap:22px;align-items:center;padding:19px 35px 14px;position:relative;z-index:4}.search-box{height:46px;display:flex;gap:12px;align-items:center;border:1px solid #484052;border-radius:12px;background:#12121ee8;padding:0 14px;max-width:660px;flex:1;box-shadow:0 8px 20px #0003;cursor:text}.search-box input{background:none;border:0;min-width:0;flex:1}.search-box kbd{color:#a4a0ad;border:1px solid #3c3646;background:#272332;border-radius:6px;padding:3px 7px;font-size:11px}.top-actions{display:flex;align-items:center;gap:15px;margin-left:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid #4d4055;border-radius:9px;background:#23202d;color:var(--text);font-weight:650;white-space:nowrap;transition:.17s}.btn:hover{background:#32263b;border-color:#92536e}.btn.primary{background:linear-gradient(#ef2d72,#af1e52);border-color:#ff668c;box-shadow:0 0 22px #ff2e7160;color:#fff}.btn.primary:hover{filter:brightness(1.15)}.btn.danger{background:#3c1726;border-color:#883952;color:#ffbdc8}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:#ffffff13}.btn.sm{padding:7px 10px;font-size:12px}.btn.wide{width:100%}.icon-button{width:43px;height:43px;display:inline-grid;place-items:center;border:1px solid #52445a;border-radius:50%;background:#22202c;color:#eeeaf1}.icon-button:hover{border-color:var(--pink)}.new-wrap{position:relative}.dropdown{position:absolute;z-index:20;top:calc(100% + 8px);right:0;background:#1c1926;border:1px solid #5b425a;min-width:195px;padding:8px;border-radius:11px;box-shadow:0 14px 35px #000a}.dropdown button{background:transparent;border:0;color:var(--text);width:100%;text-align:left;display:flex;gap:11px;align-items:center;padding:11px;border-radius:7px}.dropdown button:hover{background:#fa347f25}
.view{padding:0 30px 40px 35px;min-height:calc(100vh - 95px)}.hero{height:215px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 30px 25px;position:relative;isolation:isolate;border-radius:15px;overflow:hidden;margin:0 0 13px}.hero::before{content:'';z-index:-2;position:absolute;inset:0;background:var(--hero-photo,url('assets/tokyo-hero.webp')) center 50%/cover no-repeat}.hero::after{content:'';z-index:-1;position:absolute;inset:0;background:linear-gradient(90deg,#0b0b15 0%,#0b0b1592 32%,#0a091050 70%,#0a09101f),linear-gradient(0deg,#0b0b14 0%,transparent 58%)}.hero.group-hero::before{background-image:var(--hero-photo,url('assets/group-hero.webp'))}.hero h1{font-size:34px;line-height:1.2;margin:4px 0 6px;font-weight:800;letter-spacing:-.035em}.hero p{color:#b6b1bc;font-size:15px;margin:0}.hero .slash-mark{position:absolute;left:10px;bottom:26px;background:var(--pink);width:4px;height:54px;transform:skew(-10deg)}.hero .back{position:absolute;top:14px;left:17px}.hero .group-title{display:flex;align-items:center;gap:15px}.monogram{font-size:35px;font-weight:800;font-family:'Barlow Condensed',sans-serif;width:62px;height:62px;display:grid;place-items:center;background:#110e1cc9;border:1px solid #4b2c44;border-left:3px solid var(--pink);border-radius:8px;color:#fff}.hero-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.eyebrow{font-size:11px;color:var(--pink);font-weight:800;letter-spacing:.17em;text-transform:uppercase}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:40px;font-size:11px;font-weight:700;padding:5px 10px;border:1px solid #7c3152;background:#4e1733b0;color:#ffb2c8}.pill.green{border-color:#257c57;background:#103e30;color:#70f3b5}.pill.orange{border-color:#9b713a;background:#49301b;color:#ffd58b}.pill.neutral{border-color:#565361;background:#2d2b36;color:#c1bac7}.pill.red{border-color:#a02b53;background:#591a2e;color:#ff9db9}
.dashboard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(235px,.83fr);gap:16px}.panel{min-width:0;background:linear-gradient(160deg,#211c2aee,#14141df5);border:1px solid #4a3b50;border-radius:14px;box-shadow:0 12px 27px #0003;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #463748;gap:8px}.panel-title{font-size:17px;font-weight:750;display:flex;align-items:center;gap:10px}.panel-title svg{color:var(--pink)}.panel-body{padding:10px 18px 16px}.panel-footer{display:flex;justify-content:flex-end;padding:9px 16px 14px}.link{display:inline-flex;gap:6px;align-items:center;background:none;border:0;color:#ff5590;font-weight:700;padding:3px;cursor:pointer}.link:hover{text-decoration:underline}.dashboard .span2{grid-column:span 2}.dashboard .panel-body{min-height:141px}.item-line{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #413944;min-height:40px}.item-line:last-child{border-bottom:0}.item-main{flex:1;min-width:0}.item-main strong{font-weight:600}.item-main small,.sub{display:block;font-size:11px;color:var(--muted);margin-top:5px}.check-button{background:none;border:2px solid #bcafc1;border-radius:50%;height:19px;width:19px;flex:none;padding:0}.check-button:hover{border-color:var(--pink)}.check-button.done{background:var(--green);border-color:var(--green);position:relative}.check-button.done:after{content:'✓';font-size:12px;color:#08160f;position:absolute;inset:-2px}.done-text{text-decoration:line-through;color:#97909b}.priority{color:#ff9abe;background:#532035;border:1px solid #763249;padding:4px 7px;border-radius:9px;font-size:10px;white-space:nowrap}.small-date{border:1px solid #ad3d68;border-radius:7px;color:#e34d81;min-width:44px;min-height:48px;display:grid;place-items:center;padding:5px}.small-date span{font-size:10px;font-weight:800}.small-date strong{font-size:18px;color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-btn{background:linear-gradient(135deg,#332b3c,#1d1b26);border:1px solid #4e4155;border-radius:10px;color:#fff;min-height:76px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px}.quick-btn:hover{border-color:#fd4e85;background:#392237}.favorite-line{width:100%;display:flex;align-items:center;gap:11px;background:none;border:0;color:white;text-align:left;padding:10px 0;border-bottom:1px solid #443948}.favorite-line:last-child{border:0}.favorite-line:hover .item-main strong{color:#ff8aad}.mini-monogram{width:39px;height:39px;border:1px solid #65556d;border-radius:8px;display:grid;place-items:center;font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:#fff;background:#15121d}.star{color:var(--pink)}.muted{color:var(--muted)}
.section-top{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:14px 0 17px;flex-wrap:wrap}.section-top h2{font-size:22px;margin:0}.section-top p{color:var(--muted);margin:5px 0 0}.tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.select,.field input,.field select,.field textarea,.field-search{border:1px solid #514358;background:#1d1a27;color:var(--text);padding:11px;border-radius:9px;min-width:0}.select:focus,.field input:focus,.field select:focus,.field textarea:focus,.field-search:focus{border-color:var(--pink);box-shadow:0 0 0 3px #f72e741f}.field-search{width:210px}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.group-card{background:linear-gradient(140deg,#26202df5,#16151e);border:1px solid #504254;border-radius:12px;padding:18px;transition:.15s;cursor:pointer;min-width:0}.group-card:hover{border-color:#f93e82;box-shadow:0 5px 26px #f32a6220;transform:translateY(-2px)}.group-card h3{margin:0 0 7px;font-size:20px}.card-head{display:flex;gap:12px;align-items:center;margin-bottom:15px}.group-card .meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin:9px 0}.group-card .desc{color:#c1bcc6;line-height:1.5;font-size:12px;min-height:57px}.group-card .bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #443648;margin-top:14px;padding-top:13px}.group-card .bottom small{color:var(--muted)}.favorite-toggle{border:0;background:none;color:#6e5d73;padding:4px}.favorite-toggle.active{color:var(--pink)}
.group-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1.03fr) minmax(220px,.75fr);gap:15px}.group-grid .panel-body{min-height:190px}.group-grid .span2{grid-column:span 2}.kv{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #403646}.kv:last-child{border:0}.kv>svg{color:#cbc3d0}.kv label{min-width:95px;color:#dcd4e0;font-size:12px}.kv .value{flex:1}.risk-block{display:flex;align-items:center;gap:8px}.risk-block i{display:block;width:19px;height:11px;transform:skew(-18deg);background:#443c4b}.risk-block i.filled{background:var(--pink)}.description{font-size:12px;font-style:italic;line-height:1.6;color:#c5bac9}.contact{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #433846}.contact:last-child{border:0}.avatar{width:43px;height:43px;border-radius:10px;background:linear-gradient(135deg,#7d235a,#171321);display:grid;place-items:center;border:1px solid #f54a82;font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800}.contact .item-main{min-width:0}.contact strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact .role{font-size:11px;color:#a9a0ae;margin-top:5px;display:block}.action-stack{display:grid;gap:8px}.action-stack .btn{justify-content:flex-start;padding:11px}.action-stack svg{width:18px}.note-preview{padding:12px 0;border-bottom:1px solid #403647;font-size:12px;line-height:1.55}.note-preview:last-child{border:0}.small-text{font-size:11px;color:var(--muted)}.tag-cloud{display:flex;gap:6px;flex-wrap:wrap}.tag{background:#441d35;border:1px solid #9d3362;color:#ffc0d6;border-radius:25px;padding:5px 9px;font-size:11px;font-weight:650}.group-tabs{display:flex;gap:8px;margin:10px 0 16px;flex-wrap:wrap}.tab{background:#1c1a25;border:1px solid #3d3445;color:#bdb6c5;border-radius:9px;padding:9px 14px;font-weight:700}.tab.active{color:#fff;border-color:#ff4385;background:#64213f}.tab:hover{border-color:#a7456c}
.list-panel{padding:0 18px}.list-row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #413648;align-items:flex-start}.list-row:last-child{border:0}.list-row .grow{flex:1;min-width:0}.list-row h3{font-size:14px;margin:0 0 7px}.list-row p{margin:5px 0;color:#beb4c2;line-height:1.55;font-size:12px;white-space:pre-wrap}.list-row .row-actions{display:flex;gap:4px}.empty{padding:28px 14px;text-align:center;color:#aaa3b1}.empty svg{color:#f44e86;margin-bottom:10px}.empty h3{color:#f7edf3;margin:4px}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.note-card{background:linear-gradient(150deg,#26202c,#191720);border:1px solid #514254;border-radius:13px;padding:19px;cursor:pointer}.note-card:hover{border-color:var(--pink)}.note-card h3{margin:8px 0;font-size:16px}.note-card p{color:#bcb4c1;line-height:1.6;white-space:pre-wrap;font-size:12px}.note-card .tags{margin-top:11px;display:flex;flex-wrap:wrap;gap:6px}.note-card .top{display:flex;gap:5px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.chip{font-size:11px;color:#e3ccdf;background:#34303e;border:1px solid #514657;border-radius:18px;padding:5px 9px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;padding:15px;gap:8px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{text-align:center;color:#aa9cae;font-weight:700;padding:12px 0;font-size:11px;text-transform:uppercase}.day-cell{min-height:115px;border-top:1px solid #39323f;border-right:1px solid #39323f;padding:9px 7px;background:#181720;color:#f7f2fa;cursor:pointer;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#312033}.day-cell.dim{background:#111119;color:#7d7783}.day-cell.today{box-shadow:inset 0 0 0 1px var(--pink)}.day-num{font-weight:700;font-size:12px}.cal-event{display:block;width:100%;padding:5px 6px;border:0;border-left:2px solid var(--pink);border-radius:4px;background:#672440b3;margin-top:6px;color:#fff;font-size:10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event:hover{background:#943557}.cal-more{font-size:10px;color:#f18ab0;margin-top:4px}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:12px 0 17px}.stat{border:1px solid #504052;border-radius:12px;background:#211b2a;padding:17px}.stat strong{display:block;font-size:27px;margin-bottom:5px}.stat span{color:var(--muted);font-size:11px}.inside-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:17px 17px 0}.generic-table{width:100%;border-collapse:collapse}.generic-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#a99cac;padding:14px 12px;border-bottom:1px solid #4e4153}.generic-table td{padding:14px 12px;border-bottom:1px solid #3e3442;font-size:12px}.generic-table tr:last-child td{border-bottom:0}.generic-table tbody tr:hover{background:#ffffff08}.generic-table .actions{white-space:nowrap;text-align:right}.generic-table td p{color:var(--muted);margin:5px 0 0}.generic-table-wrap{overflow:auto}
.overlay{position:fixed;z-index:50;inset:0;background:#05030cbd;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(600px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column;border:1px solid #8a4565;background:linear-gradient(160deg,#25202e,#15141e);border-radius:17px;box-shadow:0 25px 100px #000d,0 0 45px #f32c6830;overflow:hidden}.modal.large{width:min(760px,100%)}.modal-head{padding:19px 22px;border-bottom:1px solid #544055;display:flex;justify-content:space-between;gap:10px;align-items:center}.modal-head h2{margin:0;font-size:20px}.modal-body{overflow:auto;padding:22px}.modal-footer{border-top:1px solid #544055;display:flex;justify-content:space-between;gap:10px;padding:16px 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;min-width:0}.field label{color:#d1c4d4;font-size:12px;font-weight:650}.field input,.field select,.field textarea{width:100%}.field textarea{min-height:95px;resize:vertical;line-height:1.5}.field.full{grid-column:1/-1}.check-label{display:flex;gap:8px;align-items:center;color:#d4c6d9;font-size:12px}.check-label input{accent-color:var(--pink)}.toast-container{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px;pointer-events:none}.toast{background:#221a2b;border:1px solid #984467;border-radius:10px;padding:13px 17px;box-shadow:0 10px 30px #0008;display:flex;gap:9px;align-items:center;max-width:360px}.search-results{position:fixed;inset:0;z-index:45;background:#090811a8;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:90px 18px}.search-card{width:min(660px,100%);border:1px solid #7e3e61;background:#1b1723;border-radius:14px;overflow:hidden;box-shadow:0 20px 90px #000b}.search-top{display:flex;align-items:center;gap:11px;padding:17px;border-bottom:1px solid #453349}.search-top input{width:100%;background:none;border:0;font-size:15px}.search-items{max-height:60vh;overflow:auto;padding:10px}.search-result{width:100%;display:flex;align-items:center;gap:11px;border:0;background:none;color:white;text-align:left;padding:12px 14px;border-radius:7px}.search-result:hover{background:#ff2d7226}.search-result div{flex:1}.search-result small{display:block;color:var(--muted);margin-top:4px}.hint{font-size:11px;color:var(--muted);padding:11px 17px;border-top:1px solid #493848}.setting-section{margin-bottom:19px}.setting-section h3{font-size:16px}.notice{border:1px solid #6d4c47;background:#38251e;border-radius:10px;color:#f7caa5;padding:13px 15px;line-height:1.5;font-size:12px}.loading{opacity:.6}
@media(max-width:1240px){.app-frame{grid-template-columns:214px minmax(0,1fr)}.sidebar{padding:26px 12px}.brand-big{font-size:29px}.topbar{padding-left:20px;padding-right:20px}.view{padding-left:20px;padding-right:20px}.dashboard,.group-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard>.panel:nth-child(3),.group-grid>.panel:nth-child(3){grid-column:span 2}.dashboard .span2,.group-grid .span2{grid-column:span 2}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.group-grid .span2 .panel-body{min-height:auto}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.app-frame{grid-template-columns:minmax(0,1fr);min-height:100vh;height:100dvh}.sidebar{position:fixed;width:min(275px,87vw);height:100dvh;top:0;left:0;transform:translateX(-103%);transition:transform .22s;box-shadow:10px 0 60px #000a;z-index:30}.sidebar.open{transform:translateX(0)}.sidebar .side-close,.topbar .mobile-menu{display:inline-grid}.side-close{position:absolute;right:10px;top:13px;z-index:3}.topbar{height:70px;padding:10px 15px;gap:9px}.topbar .search-box{height:43px}.topbar kbd,.topbar .profile{display:none}.new-wrap .btn.primary{padding:10px}.new-wrap .btn.primary .new-label{display:none}.top-actions{gap:5px}.view{padding:0 14px 32px}.hero{height:190px;padding:20px 22px}.hero h1{font-size:29px}.dashboard,.group-grid{grid-template-columns:1fr}.dashboard>.panel:nth-child(3),.dashboard .span2,.group-grid>.panel:nth-child(3),.group-grid .span2{grid-column:span 1}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cards,.note-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.day-cell{min-height:75px;padding:5px 3px}.cal-event{font-size:9px;padding:4px 2px}.cal-grid .weekday{font-size:9px}.top-actions .icon-button{width:35px;height:35px}}
@media(max-width:470px){.hero{height:167px}.hero h1{font-size:24px}.hero p{font-size:12px}.group-title .monogram{width:44px;height:44px;font-size:25px}.panel-head{padding:14px}.panel-title{font-size:15px}.panel-body{padding:10px 14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.modal-head,.modal-body,.modal-footer{padding:15px}.tools{width:100%}.field-search{flex:1;width:100px}.select{max-width:100%}.btn{font-size:12px}.kv{gap:7px}.kv label{min-width:77px}.calendar-head h2{font-size:17px}.cal-event{font-size:0;padding:5px;height:8px}.day-cell{min-height:60px}.cal-event::before{content:'•';font-size:13px;position:relative;top:-7px}.cal-more{font-size:8px}}

/* Final usability refinements */
.search-box{min-width:0}.search-box>span{min-width:0}.favorite-toggle.active svg{fill:var(--pink);stroke:var(--pink)}
@media(max-width:800px){.topbar{width:100%;overflow:visible}.topbar .search-box{flex:1;min-width:0;width:0;padding:0 10px}.topbar .search-box>span{font-size:11px}.topbar .top-actions{flex:none;margin-left:0}.topbar .new-wrap .btn.primary{width:41px;height:41px;padding:0}.topbar .new-wrap .btn.primary svg:last-child{display:none}}

/* V1.1 — editable group categories */
.group-symbol{width:40px;height:40px;flex:none;display:grid;place-items:center;color:#f45a91;border:1px solid #74435d;background:linear-gradient(135deg,#562039,#201b29);border-radius:10px}
.category-instructions{margin:0 0 18px;color:var(--muted);line-height:1.6;font-size:12px}
.category-label{display:block;font-size:12px;font-weight:700;color:#d3c9d8;margin-bottom:9px}
.category-create{display:flex;gap:10px;margin-bottom:22px}
.category-create input,.category-edit-input{width:100%;min-width:0;border:1px solid #584559;background:#191722;color:#f9eff8;border-radius:9px;padding:11px 12px}
.category-create input:focus,.category-edit-input:focus{outline:2px solid #f64a8255;border-color:var(--pink)}
.category-create .btn{flex:none}
.category-list{display:grid;gap:9px;margin:0 0 18px}
.category-row{display:flex;align-items:center;justify-content:space-between;gap:13px;border:1px solid #4e3c52;background:linear-gradient(120deg,#272130,#1a1822);border-radius:11px;padding:12px}
.category-row-main{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 85px;align-items:center;gap:12px}
.category-row-main .small-text{white-space:nowrap}
.category-row-actions{display:flex;align-items:center;gap:7px}
.category-row-actions .btn{min-width:36px;justify-content:center}
.category-edit-input:disabled{opacity:.65;border-color:transparent;background:transparent}
@media(max-width:600px){.category-create{flex-direction:column}.category-row{align-items:stretch;flex-direction:column}.category-row-main{grid-template-columns:minmax(0,1fr) 75px}.category-row-actions{justify-content:flex-end}.category-create .btn{justify-content:center}}

/* V1.2 — Drift Tablet : commandes image discrètes (survol, focus ou écran tactile) */
.brand-big{font-size:31px;letter-spacing:-1px}.brand-sub{letter-spacing:.06em}
.image-edit{border:1px solid #ffffff4d;color:#fff;background:#10101bbf;backdrop-filter:blur(7px);height:30px;width:30px;border-radius:9px;display:grid;place-items:center;opacity:0;transform:translateY(-3px);transition:opacity .15s,background .15s,transform .15s;z-index:3;box-shadow:0 3px 12px #0008}
.image-edit:hover,.image-edit:focus-visible{opacity:1!important;transform:none;background:#a52158e6;border-color:#ff689e;outline:1px solid #ff689e70}
.hero:hover>.hero-image-edit,.hero:focus-within>.hero-image-edit,.side-bottom:hover>.side-image-edit,.side-bottom:focus-within>.side-image-edit{opacity:.93;transform:none}
.hero-image-edit{position:absolute;right:13px;top:13px}
.side-image-edit{position:absolute;right:10px;bottom:25px}
.contact-photo-button{flex:none;width:40px;height:40px;background:none;border:0;padding:0;position:relative;border-radius:8px;color:#fff}
.contact-photo-button .avatar{width:40px;height:40px;display:grid;place-items:center}
.contact-photo-button img{width:40px;height:40px;border:1px solid #86506c;border-radius:8px;object-fit:cover}
.contact-photo-pencil{display:grid;place-items:center;position:absolute;bottom:-4px;right:-4px;width:17px;height:17px;border:1px solid #ef5993;color:white;background:#541932;border-radius:5px;opacity:0;transition:opacity .15s}
.contact-photo-button:hover .contact-photo-pencil,.contact-photo-button:focus-visible .contact-photo-pencil{opacity:1}
.image-modal{width:min(550px,96vw)}
.image-picker-preview{height:195px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #5d3a55;background-image:var(--preview-photo,url('assets/tokyo-hero.webp'));background-size:cover;background-position:center;color:#d2a2b7;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 24px #0008}
.image-picker-preview.group-preview{background-image:var(--preview-photo,url('assets/group-hero.webp'))}
.image-picker-preview.sidebar-preview{background-image:var(--preview-photo,url('assets/sidebar.webp'));background-size:contain;background-repeat:no-repeat;background-color:#140e1d;height:260px}
.image-picker-preview.contact-preview{background-image:var(--preview-photo,none);height:180px;width:180px;margin:auto;background-color:#281a31}
.image-picker-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 8px}.image-upload-label{position:relative;cursor:pointer}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.image-help{margin:10px 0 0;color:#9e92a3;font-size:11px;line-height:1.65}
@media(max-width:1240px){.brand-big{font-size:27px}}
@media(max-width:800px){.image-edit{opacity:.64;transform:none}.contact-photo-pencil{opacity:.75}}
@media(max-width:470px){.brand-big{font-size:27px}.image-picker-preview{height:150px}.image-picker-preview.sidebar-preview{height:220px}}

.brand-sub{font-size:9px;letter-spacing:.02em;white-space:nowrap}


/* V1.3 · écran code PIN Drift Tablet */
.pin-screen{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:24px;position:relative;isolation:isolate;overflow:auto;background:linear-gradient(110deg,#090912dc,#0a0915ab 45%,#160717ef),url('assets/tokyo-hero.webp') center /cover no-repeat}
.pin-screen:after{content:'';position:fixed;pointer-events:none;inset:0;background:linear-gradient(0deg,#080812 3%,transparent 64%)}
.pin-glow{position:absolute;width:530px;height:510px;border-radius:50%;background:#ed1f6330;filter:blur(140px);z-index:-1;top:10%;left:50%;transform:translateX(-50%)}
.pin-card{position:relative;z-index:1;width:min(455px,100%);padding:25px 38px 26px;background:linear-gradient(138deg,#1d1325f2,#090c17f5);border:1px solid #91456770;border-radius:22px;box-shadow:0 23px 90px #000d,0 0 45px #f73a7430,inset 0 1px #ffffff15;backdrop-filter:blur(16px);text-align:center}
.pin-topline{display:flex;align-items:center;gap:8px;color:#aea1af;font-size:9px;letter-spacing:.14em;text-align:left;font-weight:800}.pin-top-dot{width:6px;height:6px;background:var(--pink);border-radius:50%;box-shadow:0 0 12px var(--pink)}.pin-topline-right{margin-left:auto;color:#ff5d97;font-size:9px}
.pin-brand{margin:27px auto 23px;font:italic 900 44px/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.2px}.pin-brand b{color:var(--pink)}.pin-brand small{font:700 10px Inter,Arial,sans-serif;letter-spacing:.2em;display:block;color:#bd9fb4;margin-top:13px}
.pin-symbol{display:grid;place-items:center;margin:auto auto 12px;width:57px;height:57px;border-radius:18px;background:#ff367717;color:#ff5b93;border:1px solid #ff36774a;box-shadow:0 0 35px #ff2b6322}.pin-kicker{font-size:10px;color:#fa5e94;font-weight:800;letter-spacing:.2em}.pin-card h1{margin:9px 0;font-family:Inter,Arial,sans-serif;font-size:23px;letter-spacing:-.6px}.pin-subtitle{color:#aaa0b2;font-size:12px;line-height:1.55;max-width:310px;margin:0 auto 20px}.pin-field-label{display:block;text-align:left;margin:0 0 7px;color:#ccbbc9;font-size:10px;letter-spacing:.1em;font-weight:800}.pin-input{display:block;width:100%;height:58px;text-align:center;letter-spacing:19px;text-indent:19px;font-size:26px;font-weight:800;border:1px solid #5b4358;border-radius:12px;background:#0c0d18;color:#fff;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 2px 10px #0004}.pin-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff397c21}.pin-input::placeholder{letter-spacing:19px;color:#524a5d}.pin-message{height:18px;margin:8px 0 8px;color:#908799;font-size:10px}.pin-message.pin-error{color:#ff6e97;font-weight:700}
.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(265px,100%);margin:9px auto 15px}.pin-key{display:grid;place-items:center;min-height:43px;border:1px solid #423044;background:#1a1925d9;color:#f8f3fa;font-weight:700;font-size:18px;border-radius:10px;transition:background .15s,border-color .15s}.pin-key:hover,.pin-key:focus-visible{background:#5b2342;border-color:#fa5791;outline:none}.pin-key:active{transform:scale(.97)}.pin-submit{height:47px;width:100%;justify-content:center!important;gap:10px}.pin-foot{margin:21px 0 0;text-align:center;font-size:10px;color:#817587;letter-spacing:.06em}
.pin-lock-button{color:#f7c0d4!important;border-color:#553244!important}.pin-lock-button:hover{background:#54263c!important}.pin-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:10px 0 13px}.pin-settings-grid label{color:#d3c8d5;font-size:11px;display:flex;flex-direction:column;gap:6px}.pin-settings-grid input{width:100%;border:1px solid #534052;background:#151521;border-radius:8px;height:40px;padding:0 12px;letter-spacing:.15em}.pin-settings-grid input:focus{border-color:var(--pink)}.pin-settings-tools{margin-top:12px}
@media(max-width:800px){.topbar .pin-lock-button{display:grid!important;width:35px;height:35px}.pin-card{padding:24px}.pin-brand{font-size:41px}}
@media(max-width:470px){.pin-card{padding:22px 19px}.pin-brand{font-size:38px}.pin-topline{font-size:8px}.pin-settings-grid{grid-template-columns:1fr}.pin-keypad{gap:6px}.pin-key{min-height:42px}}

/* DT V1.4.2 — discreet Cloudflare diagnostic link */
.dt-diagnostic-link {display:table;margin:10px auto 0;background:transparent;border:0;color:#a69ead;font:inherit;font-size:11px;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:7px 10px;}
.dt-diagnostic-link:hover,.dt-diagnostic-link:focus-visible {color:#ff6aa5;}
