@font-face{font-family:IRANSans;src:url("/fonts/IRANSans.woff") format("woff");font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#e9e6ec;color:#312240;font:14px IRANSans,Tahoma,Arial}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible{outline:3px solid #d9a458}#app{max-width:460px;margin:auto;background:#f4f2f7;min-height:100vh;padding-bottom:95px}header{padding:22px 20px 14px;background:white;display:flex;align-items:center;gap:12px}header b{font-size:23px}small,.sub{color:#898191;font-size:11px;line-height:2}.logo{background:#40176a;color:white;font-size:24px;border-radius:14px;padding:8px 13px}.bell{margin-right:auto;background:#f0ebf4;padding:10px;border-radius:14px}.toolbar{padding:8px 20px;background:white;display:flex;justify-content:space-between;align-items:center}.toolbar select{padding:7px;border:0;border-radius:8px;background:#f0ecf5;color:#4b3067}main{padding:23px 18px}h1{font-size:23px;margin:0 0 8px}h2{font-size:16px;margin:24px 0 13px}h3{font-size:14px;margin:0 0 9px}.card{background:white;border:1px solid #e4deea;padding:19px;border-radius:20px;margin:13px 0;line-height:1.9}.hero{background:#3b1561;color:white;padding:24px 21px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:150px;height:150px;border:25px solid #ffffff08;border-radius:50%;left:-50px;top:-60px;pointer-events:none}.hero small{color:#ccc0d9}.money{font-size:32px;font-weight:bold;margin:15px 0}.money span{font-size:11px;font-weight:normal}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff29;padding-top:12px;gap:12px}.split b{display:block;margin-top:5px}.tag{padding:5px 8px;border-radius:8px;font-size:10px;background:#eee7f5;color:#62467e}.amber{background:#fff2df;color:#a67737}.primary{padding:12px 17px;background:#42176d;color:white;border-radius:12px}.secondary{padding:11px 15px;background:#eee8f4;color:#543871;border-radius:12px}.wide{width:100%;margin-top:10px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:22px 0}.quick button{background:none;color:#5b4d6a;font-size:10px}.quick i{display:grid;place-items:center;background:white;border:1px solid #e0d9e8;width:53px;height:53px;border-radius:17px;margin:0 auto 9px;font-size:22px;font-style:normal}.progress{height:7px;background:#ece7f2;border-radius:8px;margin:18px 0 10px}.progress div{height:100%;width:60%;background:#9076aa;border-radius:8px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:460px;width:100%;background:#ffffffef;backdrop-filter:blur(12px);display:flex;padding:10px 7px 17px;border-top:1px solid #e3ddea;z-index:10}.nav button{flex:1;background:none;color:#908899;font-size:10px;padding:7px 0;border-radius:13px}.nav b{display:block;font-size:20px;font-weight:normal;margin-bottom:6px}.nav .active{color:#421e67;background:#ede6f4}.entry{padding:15px 0;border-bottom:1px solid #ece6f1;display:flex;align-items:center;gap:12px}.entry:last-child{border:0}.entry .symbol{background:#eee8f5;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;font-size:20px}.entry .grow{flex:1}.entry button{background:none;color:#654d7e}.note{background:#ece6f3;border-radius:12px;padding:12px;font-size:11px;color:#6e5c80;line-height:2;margin:14px 0}.tabs{display:flex;background:#e8e2ef;border-radius:12px;padding:4px;margin:18px 0}.tabs button{flex:1;padding:10px 2px;font-size:11px;background:none;color:#766586;border-radius:9px}.tabs .active{background:white;color:#452467}input,textarea,select.form{width:100%;padding:12px;border:1px solid #dfd7e7;border-radius:12px;background:white;color:#3f2f4f;margin:6px 0 12px}label{font-size:12px;display:block;line-height:2}textarea{min-height:90px}.bubble{background:#e3daed;padding:14px;max-width:87%;border-radius:16px 3px 16px 16px;margin:16px 0;line-height:2;font-size:12px}.other{background:white;margin-right:auto;border:1px solid #e0d7e9;border-radius:3px 16px 16px 16px}.compose{display:flex;gap:8px;align-items:start}.receipt{padding:30px 12px;text-align:center;background:#f5f2e9;border:1px dashed #c0b4cd;border-radius:14px;line-height:2.2;margin:18px 0;color:#766b82}.actions{border-top:1px solid #ece6f1;padding-top:12px;display:flex;gap:20px}.actions button{background:none;color:#694f83}.comment{font-size:12px;line-height:2;border-right:2px solid #dbd0e6;padding-right:10px;margin:15px 0}#modal:empty{display:none}#modal{position:fixed;inset:0;background:#28123f7d;z-index:30;display:flex;align-items:end;justify-content:center}.sheet{background:#f7f4fa;width:min(100%,460px);border-radius:25px 25px 0 0;padding:24px;max-height:85vh;overflow:auto}.sheet h2{margin:0 0 16px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#352645;color:white;border-radius:12px;padding:14px;max-width:90%;font-size:12px;z-index:40}#toast:empty{display:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats .card{text-align:center;padding:16px 5px}.stats b{font-size:25px;display:block}a{color:#4b2076} .option{display:flex;gap:10px;border:1px solid #ddd4e6;border-radius:12px;padding:12px;margin:10px 0}.option input{width:auto;margin:0;accent-color:#451e6c}
.ui-icon{width:23px;height:23px;display:inline-block;vertical-align:middle;flex-shrink:0}.logo .ui-icon{width:28px;height:28px}.nav b{height:24px}.nav b svg{display:block;margin:auto}.managergrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.managergrid button{background:white;border:1px solid #e7dfee;border-radius:17px;text-align:right;padding:18px 13px;color:#5c3879;min-height:100px}.managergrid b{display:block;margin:8px 0}.managergrid small{display:block}.managerbar{background:#50306b;color:white;padding:12px 20px;display:flex;justify-content:space-between;align-items:center}.statline{display:flex;justify-content:space-between;border-bottom:1px solid #eee6f4;padding:12px 0;font-size:12px;gap:12px}.error{color:#ab3f54;background:#fff0f2;padding:12px;border-radius:12px;line-height:2;margin:10px 0}.empty-state{text-align:center;padding:25px;color:#95849f}.option{display:flex;gap:10px;border:1px solid #e5d8ee;border-radius:12px;padding:12px;margin:10px 0;align-items:center}.option input{width:auto;margin:0;accent-color:#753aa1}.card form{margin:0}button:disabled{opacity:.5;cursor:wait}.filelink{display:inline-flex;align-items:center;gap:7px;padding:8px;background:#f3edf8;border-radius:10px;font-size:12px}.photo{width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:#f7f4fa}.notice{border-right:3px solid #c7a464}.back{background:none;padding:0 0 15px;color:#754d91}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:10px 4px;text-align:right;border-bottom:1px solid #eee6f4}.sub a{color:#754d91}.status-approved,.status-done{color:#4b6946}.status-pending,.status-progress{color:#a67331}.status-rejected{color:#aa4152}.footer{font-size:10px;color:#9684a5;text-align:center;padding:20px}.badge-count{background:#aa69c5;color:white;border-radius:9px;padding:2px 5px}.finance-toggle{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}a{color:#794aa2}.money{font-variant-numeric:tabular-nums}.sheet{padding-bottom:35px}.sheet .row h2{margin:0}.sheet .primary{margin-top:15px}.chat-scroll{max-height:60vh;overflow:auto}.bubble{overflow-wrap:anywhere}.menu-link{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;color:inherit;padding:12px 0;text-align:right;border-bottom:1px solid #efe7f4}.menu-link span{display:flex;align-items:center;gap:10px}.family-note{font-size:11px;color:#8d779b}.print-head{display:none}@media print{header,.toolbar,.nav,.managerbar,button,.footer,#modal,#toast{display:none!important}body,#app,main{background:white;max-width:none;padding:0} .card{break-inside:avoid;box-shadow:none}.print-head{display:block}a{color:black}.money{font-size:20px}}
.conversations{padding:4px 14px}.conversation{display:flex;align-items:center;gap:11px;width:100%;background:none;text-align:right;color:inherit;padding:17px 0;border-bottom:1px solid #eee5f4}.conversation:last-child{border:0}.chat-avatar{width:46px;height:46px;flex-shrink:0;background:#eee4f7;color:#744199;border-radius:16px;display:grid;place-items:center;font-weight:bold}.conversation-text{display:grid;gap:4px;min-width:0;flex:1}.conversation-title{font-size:13px;font-weight:bold}.conversation-text small{font-size:10px}.last-message{display:block;font-size:11px;color:#8c7c98;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:215px}.conversation.unread .last-message{color:#503361;font-weight:bold}.conversation-meta{display:grid;justify-items:end;gap:9px;max-width:90px}.conversation-meta small{font-size:9px;line-height:1.8;text-align:left}.unread-badge,.chat-total{background:#75409b;color:white;min-width:21px;height:21px;border-radius:11px;padding:2px 6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.chat-total{position:absolute;top:0;left:8px}.chat-total.zero{display:none}.nav button{position:relative}.read-label{font-size:9px;color:#a294aa}.sender-line{display:flex;gap:8px;align-items:center;margin-bottom:10px}.sender-line small{display:block;font-size:9px}.sender-line b{font-size:11px;color:#66398b}.mini-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#ded0ec;color:#65388b;font-size:10px;flex-shrink:0}.bubble.mine{background:#e9dff3;border-radius:16px 4px 16px 16px;margin-left:auto;margin-right:0}.bubble.other{background:white;margin-right:auto;margin-left:0;border-radius:4px 16px 16px 16px}.message-body{white-space:pre-wrap;font-size:13px}.message-meta{display:flex;gap:9px;justify-content:space-between;margin-top:9px}.message-meta small{font-size:9px}.message-tick{font-size:9px;color:#a08cad}.message-tick.seen{color:#6943a0}.chat-scroll{padding:6px 0;min-height:180px}
.chat-scroll{max-height:calc(100dvh - 385px);min-height:230px;padding:12px 0 20px;scroll-behavior:smooth;background-image:radial-gradient(#b08ac31a .7px,transparent .7px);background-size:17px 17px}.bubble{max-width:90%;padding:13px 14px;margin:12px 0}.bubble.mine{margin-left:0;margin-right:auto;border-radius:16px 4px 16px 16px}.bubble.other{margin-right:0;margin-left:auto;border-radius:4px 16px 16px 16px}.chat-compose{background:white;border:1px solid #e5dbed;border-radius:19px;margin-top:14px;padding:10px;position:sticky;bottom:90px;z-index:3;box-shadow:0 4px 25px #4423590b}.compose-main{display:flex;align-items:center;gap:6px}.compose-main textarea{min-height:43px;max-height:120px;resize:vertical;margin:0;flex:1;border:0;background:#f6f2f9;padding:11px;font-size:12px}.attach-button,.record-button{border:0;background:#eee5f6;color:#75409b;border-radius:12px;width:35px;height:39px;flex-shrink:0;font-size:22px}.record-button{font-size:19px;color:#9c4e91}.chat-send{padding:11px 10px;font-size:11px}.draft-file{display:flex;gap:10px;align-items:center;background:#f5eff9;border-radius:12px;padding:10px;margin-bottom:10px}.draft-file img{width:55px;height:55px;object-fit:cover;border-radius:9px}.draft-file>div{flex:1;min-width:0}.draft-file b{font-size:11px;word-break:break-all}.draft-file small{display:block}.draft-file button{background:transparent;color:#9b6fa7;padding:10px}.record-panel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff0f4;border:1px solid #efd5df;padding:12px;border-radius:12px;margin-bottom:10px;font-size:11px}.record-panel button{background:#fff;padding:8px;border-radius:8px;color:#8e536a}.record-dot{color:#c74b6e;animation:pulse-record 1s infinite}.live-wave{display:flex;align-items:center;gap:2px;height:30px;flex:1;min-width:75px;direction:ltr;overflow:hidden}.live-wave i{background:#bd638e;width:3px;flex-shrink:0;border-radius:3px}@keyframes pulse-record{50%{opacity:.35}}.upload-progress{font-size:10px;padding:10px}.upload-progress progress{width:100%;accent-color:#75409b}.image-message{max-width:290px;margin-top:10px}.image-message button{padding:0;background:none;display:block;width:100%}.chat-photo{max-width:100%;max-height:340px;object-fit:contain;border-radius:13px;display:block;background:#ece3f2}.full-photo{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:18px auto}.media-download{font-size:10px;color:#75409b;text-decoration:none;white-space:nowrap;padding:7px 0;display:inline-block}.video-message{width:100%;max-width:310px;margin-top:10px}.video-message video{width:100%;max-height:330px;display:block;border-radius:13px;background:#21132a}.media-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.media-bottom small{font-size:9px;word-break:break-all}.document-message{display:flex;gap:10px;align-items:center;background:#ffffff9c;border:1px solid #e4d5ed;padding:12px;border-radius:13px;margin-top:10px;min-width:230px}.document-message>div{min-width:0;flex:1}.document-message b{display:block;font-size:11px;word-break:break-all;direction:ltr;text-align:right}.document-message small{font-size:10px}.extension-badge{background:#8051a4;color:white;border-radius:10px;min-width:42px;min-height:45px;display:grid;place-items:center;font:10px Arial;padding:4px}.voice-player{display:flex;align-items:center;gap:9px;min-width:245px;max-width:310px;margin-top:12px;padding:8px 0}.voice-player audio{display:none}.voice-play{background:#7b469f;color:white;width:39px;height:39px;border-radius:50%;flex-shrink:0;font:16px Arial}.voice-center{flex:1;min-width:120px}.voice-wave{display:flex;align-items:center;gap:2px;position:relative;height:35px;overflow:hidden}.voice-wave i{display:block;min-width:2px;flex:1;border-radius:2px;background:#d2bfdc}.voice-wave i.played{background:#8650aa}.voice-seek{position:absolute;inset:0;opacity:.01;padding:0;margin:0;width:100%;height:100%;cursor:pointer;direction:ltr}.voice-details{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#9474a5;direction:ltr}.voice-details a{padding:2px;font-size:9px}.voice-speed{background:#e8dcee;color:#75409b;border-radius:9px;padding:7px 5px;min-width:34px;font-size:10px}.voice-wave:focus-within{outline:2px solid #ad8fbe;border-radius:4px}.attachment-menu{padding:15px 0}.sender-line{margin-bottom:7px}.message-body:empty{display:none}.message-meta{margin-top:8px}.sheet .form-error:empty{display:none}@media(max-width:360px){.bubble{max-width:97%}.voice-player{min-width:215px}.document-message{min-width:200px}.chat-send{font-size:10px;padding:12px 7px}}
.bubble.mine{margin-right:0;margin-left:auto}.bubble.other{margin-left:0;margin-right:auto}
/* Sokna 0.1.3: unified Solar chat controls and accessible group/emoji surfaces. */
.room-heading{display:flex;align-items:center;gap:10px;margin:4px 0 14px}.room-heading>div{flex:1;min-width:0}.room-heading h1{font-size:17px;margin:0 0 5px;overflow-wrap:anywhere}.room-heading small{font-size:10px;color:#977fa5}.icon-button{width:40px;height:40px;border-radius:13px;background:#f1eaf7;color:#78439f;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:9px}.icon-button .ui-icon{width:22px;height:22px}.chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.new-group{display:flex;gap:10px;align-items:center;justify-content:center;margin:12px 0 20px}.new-group .ui-icon{width:22px;height:22px}.compose-main{gap:3px}.compose-main textarea{min-width:0;padding:11px 7px}.attach-button,.record-button,.emoji-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:42px;border:0;background:transparent;color:#916ba6;border-radius:12px;padding:6px;flex-shrink:0}.compose-main .ui-icon{width:23px;height:23px}.chat-send{height:42px;width:42px;padding:9px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0;background:linear-gradient(145deg,#9865be,#6f3996);box-shadow:0 4px 10px #6f39962b}.chat-send .ui-icon{width:23px;height:23px}.attach-button:hover,.emoji-button:hover,.record-button:hover{background:#f0e7f7;color:#6e3796}.chat-compose:focus-within{border-color:#bd9ad4}.media-download{display:inline-flex;align-items:center;gap:4px}.media-download .ui-icon{width:16px;height:16px}.voice-play{display:flex;align-items:center;justify-content:center;padding:9px}.voice-play .ui-icon{width:21px;height:21px}.draft-file button .ui-icon{width:21px;height:21px}.attachment-menu .ui-icon{width:22px;height:22px;vertical-align:middle;margin-left:8px}.emoji-picker[hidden]{display:none}.emoji-picker{border-top:1px solid #eee4f4;margin-top:10px;padding-top:10px}.emoji-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#78439f}.emoji-heading .icon-button{height:30px;width:30px;background:transparent}.emoji-tabs{display:flex;gap:6px;border-bottom:1px solid #eee4f4;padding:6px 0}.emoji-tabs button{flex:1;border-radius:10px;background:transparent;font-size:23px;padding:7px 3px}.emoji-tabs button[aria-selected=true]{background:#eee2f6}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));max-height:190px;overflow-y:auto;padding:7px 0;gap:2px;direction:ltr}.emoji-grid button{font-family:system-ui,sans-serif;font-size:24px;background:transparent;border-radius:9px;padding:7px 0;min-height:40px}.emoji-grid button:hover{background:#f1e9f7}.group-photo-picker{display:flex;align-items:center;gap:15px;margin:15px 0}.group-photo-picker>img{width:64px;height:64px;border-radius:20px;object-fit:cover}.group-photo-picker label{flex:1;min-width:0}.group-photo-picker input{font-size:10px;padding:9px}.group-members-select{max-height:290px;overflow-y:auto;margin:12px 0;border:1px solid #eee4f4;border-radius:15px}.group-member{display:flex;align-items:center;gap:10px;padding:12px;margin:0;border-bottom:1px solid #f3edf7}.group-member:last-child{border:0}.group-member input{width:19px;height:19px;accent-color:#8149a7;flex-shrink:0}.group-member small{display:block;font-size:10px;color:#9b84a7;margin-top:4px}.group-member b{font-size:12px}.group-info{text-align:center;padding:15px 0}.group-info>img,.group-info>.chat-avatar{width:80px;height:80px;border-radius:25px;margin:auto;object-fit:cover}.group-info .ui-icon{width:36px;height:36px}button:focus-visible,a:focus-visible{outline:2px solid #8d59b2;outline-offset:3px}@media(max-width:360px){.compose-main{gap:0}.compose-main .attach-button,.compose-main .record-button,.emoji-button{width:30px;padding:4px}.chat-send{width:37px}.chat-compose{padding:7px}.emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
/* 0.1.5 — room viewport, bottom composer and emoji-only messages */
body.chat-room-active{overflow:hidden;overscroll-behavior:none}body.chat-room-active #app{height:var(--room-height,100dvh);min-height:0;max-height:var(--room-height,100dvh);padding-bottom:0;position:fixed;top:var(--room-top,0);left:50%;transform:translateX(-50%);width:100%;display:flex;flex-direction:column;overflow:hidden}body.chat-room-active header{flex-shrink:0;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:9px}body.chat-room-active header b{font-size:19px}body.chat-room-active .toolbar{padding-top:5px;padding-bottom:5px;flex-shrink:0}body.chat-room-active #nav{display:none}body.chat-room-active #main{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}body.chat-room-active .room-heading{flex-shrink:0;padding:10px 12px;margin:0;background:#f4f2f7;border-bottom:1px solid #e8e0ed}body.chat-room-active .chat-scroll{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px 14px;scroll-behavior:auto}body.chat-room-active .chat-compose{position:relative;bottom:auto;margin:0;width:100%;flex-shrink:0;border-radius:0;border:0;border-top:1px solid #e6dcec;box-shadow:none;padding:9px 10px calc(9px + env(safe-area-inset-bottom));z-index:4;background:#fff}body.chat-room-active .compose-main{gap:5px}.compose-main textarea{resize:none;min-height:42px;max-height:110px;overflow-y:auto}.compose-action{border-radius:50%;width:43px;height:43px}.compose-action.recording{background:#b64076}.chat-compose #chatPreview:empty,.chat-compose #recordingPanel:empty{display:none}.chat-compose .form-error:empty{display:none}.chat-compose .draft-file{max-height:90px;margin:0 0 8px}.chat-compose .record-panel{margin:0 0 8px}.chat-compose .emoji-picker{max-height:min(260px,38dvh);overflow:hidden;margin-top:7px}.emoji-grid{max-height:min(180px,25dvh)}.bubble.emoji-only,.bubble.emoji-only.mine,.bubble.emoji-only.other{background:transparent;border:0;box-shadow:none;padding:4px 5px;margin-top:9px;margin-bottom:9px}.bubble.emoji-only .message-body{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',system-ui,sans-serif;font-size:var(--emoji-size,80px);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:2px}.bubble.emoji-only .sender-line{margin-bottom:1px}.bubble.emoji-only .message-meta{margin-top:0}.bubble.emoji-only .mini-avatar{background:#e7ddec}body.chat-room-active #toast{bottom:90px}@media(max-width:360px){body.chat-room-active .chat-compose{padding-left:7px;padding-right:7px}.compose-action{width:40px;height:40px}.compose-main{gap:2px}}
body.chat-room-active #app>header,body.chat-room-active #toolbar{display:none}body.chat-room-active .emoji-picker{max-height:min(260px,calc(var(--room-height,100dvh) * .45))}body.chat-room-active .emoji-grid{max-height:min(180px,max(45px,calc(var(--room-height,100dvh) * .45 - 82px)))}body.chat-room-active.chat-compact .room-heading{padding-top:5px;padding-bottom:5px}body.chat-room-active.chat-compact .emoji-heading{display:none}body.chat-room-active.chat-compact .emoji-grid{max-height:60px}
